JavaScript:显示和隐藏项目列表中只工作一次的div
我有一个链接列表。当我单击它们时,会显示一个子层,当我再次单击“上一步”时,该子层会隐藏JavaScript:显示和隐藏项目列表中只工作一次的div,javascript,jquery,html,onclick,click,Javascript,Jquery,Html,Onclick,Click,我有一个链接列表。当我单击它们时,会显示一个子层,当我再次单击“上一步”时,该子层会隐藏 **HTML:** <!-- list of links--> <div id="results"> <a href="javascript:void(0);" class="showMore" id="1">Click to show more information about 1</a><br> <a href
**HTML:**
<!-- list of links-->
<div id="results">
<a href="javascript:void(0);" class="showMore" id="1">Click to show more information about 1</a><br>
<a href="javascript:void(0);" class="showMore" id="2">Click to show more information about 2</a><br>
<a href="javascript:void(0);" class="showMore" id="3">Click to show more information about 3</a><br>
<a href="javascript:void(0);" class="showMore" id="4">Click to show more information about 4</a><br>
<!-- sub layers for each of the links -->
<div class="1">about 1<br>
<a onclick="javascript:saveItem('1'); return false;" href="javascript:return false;">Record info about 1</a>
</div>
<div class="2">about 2<br>
<a onclick="javascript:saveItem('2'); return false;" href="javascript:return false;">Record info about 2</a>
</div>
<div class="3">about 3<br>
<a onclick="javascript:saveItem('3'); return false;" href="javascript:return false;">Record info about 3</a>
</div>
<div class="4">about 4<br>
<a onclick="javascript:saveItem('4'); return false;" href="javascript:return false;">Record info about 4</a>
</div>
</div>
**JS:**
$(document).ready(function()
{
$(".showMore").click(function(e){
$("." + e.currentTarget.id).toggle()
});
});
function saveItem(id)
{
$.blockUI({ message: 'Loading ...'});
theUrl = 'controller.php';
$.ajax ({
url: laUrl,
data: params,
type: "POST",
async:true,
success: function (data, textStatus)
{
$('#results').html (data);
$.unblockUI();
}
});
}
之后:
$.unblockUI();
在saveItem函数中
这个简单的^ ^一个提琴将更有助于找出问题所在?似乎您正在将事件处理程序设置为项目上的onload,但在重新加载它们时,您会删除带有处理程序的项目,并添加不带处理程序的新项目。您从未重新添加处理程序。我想所有这些链接都在结果容器中?如果是这样,您需要重新绑定showMore clickSee此问题类名不能以数字开头,且必须为2个字符或更长。尝试将ID更改为类似于
“show more-{\d}”
,只需使用$('show-more-'+index)
重新绑定show more click??或者如何重新添加处理程序?对不起,我对javascript/jquery不是很流利:(
$.unblockUI();