ورود

View Full Version : پيدا كردن دي آي وي والد



tux-world
سه شنبه 11 بهمن 1390, 08:07 صبح
سلام دوستان . يه حلقه با php ايجاد كردم كه دي آي وي والدشون آي دي نداره و چون ثابت نيست مقاديرش نميتونم از آي دي براي دسترسي به محتوياتش استفاده كنم تو كد زير چطوري ميتونم از span برگردم به دي آي وي والد تا ببينم چي نوشته شده؟

<div>
<div> salam
<span id='ch'>1</span>
</div>
</div>

Reza1607
سه شنبه 11 بهمن 1390, 23:09 عصر
مي توني از parent استفاده كني
$('span#ch').click(function(){
alert($(this).parent("div").text());
});

Reza1607
سه شنبه 11 بهمن 1390, 23:11 عصر
اين هم يك مثال كه خود jQuery زده
<!DOCTYPE html>
<html>
<head>
<style>

p, div, span {margin:2px; padding:1px; }
div { border:2px white solid; }
span { cursor:pointer; font-size:12px; }
.selected { color:blue; }
b { color:red; display:block; font-size:14px; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p>
<div>
<div><span>Hello</span></div>
<span>Hello Again</span>

</div>
<div>
<span>And Hello Again</span>
</div>
</p>

<b>Click Hellos to toggle their parents.</b>
<script>
function showParents() {
$("div").css("border-color", "white");
var len = $("span.selected")
.parents("div")
.css("border", "2px red solid")
.length;
$("b").text("Unique div parents: " + len);
}
$("span").click(function () {
$(this).toggleClass("selected");
showParents();
});</script>

</body>
</html>

tux-world
پنج شنبه 13 بهمن 1390, 13:17 عصر
ممنون. تو کد زیر نتونستم مشکلمو حل کنم. من میخوام اگه روی ویرایش کلیک کردم محتویات TR که شامل 3 تا آی دی myND-myTV-myCD هستش دسترسی داشته باشم.. این موارد فقط یکی هستند که با حلقه php از دیتابیس خونده میشن . منظورم اینه چند تا لیست دارم که توشون کلید ویرایش هستش من به this اون نیاز دارم. ممنون میشم کمک کنید:

<tr class="odd">
<td id="myND" class='myND'>
<b><?php echo $obj['name_dars'];?></b>
</td>
<td id="myCD"><?php echo $obj['code_dars'];?></td>
<td id="myTV">
<?php echo $obj['tedade_vahed'];?>
</td>
</tr>
<tr style="display: table-row;border: 1px solid #BBBBBB;">
<td ></td>
<td colspan="2">
<span class='tryit' id='edit_kelas'> ویرایش درس</span>
<span class='tryit' style="margin-right:15px;">حذف درس</span>
</td>
</tr>

e107365
پنج شنبه 13 بهمن 1390, 15:17 عصر
درست نفهمیدم چیه مشکل!
اگه این کدی که اینجا گذاشتین تویه حلقه تکرار میشه، آی دی ها رو بردارین و بجاش کلاس بذارین. چون آی دی باید یونیک باشه و ممکنه تو انتخاب با جی کوئری درست عمل نکنه.
خب اگه می خوای که با کلیک روی ویرایش درس اون محتویات دیو قبلی رو برداری و بریزی تو یه ادیتور این کار رو می تونید بکنید:
برای اون tr دومی هم یک کلاس بذارید و برای tryit اونت کلیک رو بذارین (tryit رو از حذف درس بردارین) حالا با کلیک بر روی tryit بوسیله .parent() اون tr دوم رو انتخاب کنید و بوسیله prev به tr قبل اون برین و از اون هم با find اون tdهایی رو که می خواین محتویاتش رو بردارین.
دقت کنید که ادیتورهایی مثل tinyMCE متد خاص خودشون رو برای لود محتویات در ادیتور دارن. مستندات اونارو بخونین.
پیشنهاد: به جای span از a برای کلیدهای ویرایش و حذف انتخاب کنید و در هنگام کلیک پیشفرض اونارو با preventDefault ببندید. در این صورت اگر جاوا اسکریپت هم بسته باشد میتونید محتویات رو به یک فایل دیگ بفرستید تا ویرایش بشن.

امیدوارم مفید بوده باشه.