我收到了一个coldfusion查询,其结果按国家/地区名称分组。点击这个,我尝试打开或关闭国家/地区下的列表。但我无法正确对待这个兄弟姐妹和这对父母。结果是,如果我点击国家名称,第四个,例如,它关闭所有儿童,以及之前的三个国家名称。 有人可以帮我选择合适的选择器吗? 先感谢您 , 米歇尔
代码:
<script type="text/javascript" language="javascript">
$(document).ready(function(){
var toggleMinus = '<cfoutput>#variables.strWebAddress#</cfoutput>/images/bullet_toggle_minus.png';
var togglePlus = '<cfoutput>#variables.strWebAddress#</cfoutput>/images/bullet_toggle_plus.png';
var $subHead = $('table#categorylist tbody th:first-child');
$subHead.prepend('<img src="' +toggleMinus+ '" alt="collapse this section" /> ');
$('img', $subHead).addClass('clickable').click(function(){
var toggleSrc = $(this).attr('src');
if(toggleSrc == toggleMinus){
$(this).attr('src',togglePlus).parents('.country').siblings().fadeOut('fast');
}else{
$(this).attr('src',toggleMinus).parents('.country').siblings().fadeIn('fast');
}
});
});
</script>
<table width="95%" border="0" cellspacing="2" cellpadding="2" align="center id="categorylist">
<thead>
<tr>
<th class="text3" width="15%">
<cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTOR_CODENUMBER">
</th>
<th class="text3" width="15%">
<cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTOR_CODE">
</th>
<th class="text3" width="55%">
<cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTOR_NAME">
</th>
<th class="text3" width="15%">
<cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTIVE">
</th>
</tr>
</thead>
<tbody id="content">
<cfoutput query="qryCategoryUrl" group="country_name" groupcasesensitive="false">
<tr class="country">
<th style="font-weight:bold; text-align:left;" colspan="4">#country_name#</th>
</tr>
<cfoutput>
<tr>
<td valign="top" class="text3">#Replace(ACTOR_CODENUMBER, Chr(13) & Chr(10), "<br>", "ALL")# </td>
<td valign="top" class="text3">#Replace(ACTOR_CODE, Chr(13) & Chr(10), "<br>", "ALL")# </td>
<td valign="top" class="text3">#Replace(ACTOR_NAME, Chr(13) & Chr(10), "<br>", "ALL")# </td>
<td valign="top" class="text3"><cfmodule template="../custom_tags//get_message.cfm" keyName="#ACTIVE_display(qryCategoryUrl.ACTIVE)#"></td>
</tr>
</cfoutput>
</cfoutput>
</tbody>
</table>
答案 0 :(得分:1)
而不是:
.parents('.country').siblings().fadeOut('fast');
试试这个:
.closest('.country').nextUntil('.country').fadeOut('fast');
当然,对.fadeIn()
应用相同的更改。您也可以查看.fadeToggle()
docs。
这是一个(缩小的)示例:http://jsfiddle.net/redler/5sqJz/。虽然它不会影响示例,但可能您会将这些详细信息行的初始状态设置为隐藏。
答案 1 :(得分:0)
哇,所有cfmodule用法,cfmodule可以是记忆猪。
虽然我总是建议人们在任何浏览器中尝试他们的页面,并使用http://www.selectorgadget.com/上的SelectorGadget书签
这样可以更轻松地测试和检查正确的选择器,以满足您的应用需求。