【发布时间】:2014-11-12 13:33:11
【问题描述】:
我用过这个插件:https://github.com/tuupola/jquery_chained
我已经链接了下拉列表,并且在某些情况下,我想根据事件取消链接并重新绑定链接。
这里有一些例子:
<select id="first">
<option value="a">A</option>
<option value="b">B</option>
</select>
<select id="second">
<option value="c" class="a">C</option>
<option value="d" class="a">D</option>
<option value="e" class="b">E</option>
</select>
<input type="checkbox" value="1" id="unchain" />
Javascript 将是:
$('#second').chained('#first');
$('#unchain').change(function(){
if ($(this).prop('checked'))
{
// how to unchain the chained dropdown?
}
});
已尝试$('#second').unbind('chained');,但没有成功。
有什么建议吗?
【问题讨论】:
-
尝试拨打
$('#first').unbind('change');。虽然这会从该下拉列表中取消绑定所有更改事件。 -
啊,是的。它尝试了
$('#second').unbind('change');,如果想回链,只需$('#second').bind('change'); -
首先,您应该从
#first选择unbind更改事件,而不是#second。但这仍然行不通,因为chained插件过滤了来自#second选择的所有不匹配选项,所以当你“解链”(unbind来自更改事件)时,#second选择将有一些选项切断(即永远失去)。只有在取消链接后您将使用全套选项重新初始化#secondselect 时,它才能工作。 -
我用可能的解决方案创建了简单的jsfiddle。它对你有用吗?