获取jQuery、PHP的动态元素id
这里是我的代码,它只适用于第一行。获取jQuery、PHP的动态元素id,php,jquery,Php,Jquery,这里是我的代码,它只适用于第一行。 我想将$courseid传递给Jquery,这样无论我在何处单击coursename,它都应该显示当前课程摘要,如果我单击下一个coursename,则上一个摘要应该隐藏并显示当前摘要。谁能帮我一个清晰的代码。页面上不能有多个Id相同的元素。按类名选择,或者应用更复杂的选择器,如$'yourtableid div',如果该div仅是表中的div,而不是使用内联JavaScript:onclick=ShowHide,请使用jQuery附加事件: function
我想将$courseid传递给Jquery,这样无论我在何处单击coursename,它都应该显示当前课程摘要,如果我单击下一个coursename,则上一个摘要应该隐藏并显示当前摘要。谁能帮我一个清晰的代码。页面上不能有多个Id相同的元素。按类名选择,或者应用更复杂的选择器,如$'yourtableid div',如果该div仅是表中的div,而不是使用内联JavaScript:onclick=ShowHide,请使用jQuery附加事件:
function ShowHide() {
$('#enclosure').animate({"height": "toggle"}, {duration: 1000});
}
function ShowHide() {
$('.enclosure').animate({"height": "toggle"}, {duration: 1000});
}
这是未经测试的代码,但应该能告诉您它的要点 您也可以通过以下方式执行此操作:
$(function() { // encapsulate in document.ready
$('.show-hide-action').click(function() { // bind action
$(this) // 'this' is the clicked element
.parent() // parent should be the TD
.next(".enclosure") // select the corresponding .enclosure
.animate({"height": "toggle"}, {duration: 1000});
});
});
我通过给div一个include_{ID}使每个元素都有一个唯一的ID,因为数据库中的ID是唯一的,每个div也是唯一的
编辑:请参阅HTML的更新考虑使用类代替id。HTML页面中只能有一个唯一id。这很好,但我应该在哪里传递$courseid,它显示唯一位置它可以,但只有一个courseid如果有新问题,请提出新问题,而不是编辑此问题并使其答案无效。感谢您的回答,但当我单击第一行时,它会一次显示所有课程摘要。如果您更改HTML,请将div移动到允许的位置。例如,就在收盘后。据我所知,它是不允许在和之间无效的是,但我只是展示了他的问题的解决方案,而不是他的无效HTML。。但我在一个有效的HTML中更改了我的。这应该可以解决他的问题,但我不能保证他的动画效果会有多大作用。。因为表格和动画高度不太协调。。我想说,使用div'sHi Tricker创建您自己的表谢谢您的代码,但是它以错误的方式显示,比如当我单击当前coursename时,它显示正确,当我单击下一个coursename时,当前coursename没有隐藏,也没有显示新的coursename
function ShowHide() {
$('.enclosure').animate({"height": "toggle"}, {duration: 1000});
}
<td><a class="show-hide-action">'$coursename.'</a></td>
<div class="enclosure" style="display:none;">'.$summary.'</div>
$(function() { // encapsulate in document.ready
$('.show-hide-action').click(function() { // bind action
$(this) // 'this' is the clicked element
.parent() // parent should be the TD
.next(".enclosure") // select the corresponding .enclosure
.animate({"height": "toggle"}, {duration: 1000});
});
});
$cour = mysql_sql('SELECT c.id, c.category, cc.name, c.fullname,c.summary FROM
mdl_course c, mdl_course_categories cc WHERE c.id = cc.course');
echo '<table>';
foreach($cour as $cou)
{
$coursename = $cou->fullname;
$courseid = $cou->id;
$summary = $cou->summary;
echo '
<tr style="border:1px solid #BACC82;">
<td>
<a onclick="ShowHide('.$courseid.'); return false;">'.$coursename.'</a>
<!--SHOW AND HIDE DIV-->
<div id="enclosure_'.$courseid.'" style="display:none;">'.$summary.'</div>
</td>
</tr>
';
}
echo '</table>';
function ShowHide(id) {
$('#enclosure_'+ id).animate({"height": "toggle"}, {duration: 1000});
}