2011-09-30 59 views
0

选择我新的JS和jQuery和我使用的埃里克·海因兹jQuery的用户界面 - 多选的小部件同步两个多选盒,价值

这里是一个非常好的演示:

http://jsfiddle.net/PKypd/11/

在此演示中,第二个选择框根据位置检查其值,具体取决于在第一个选择框中选择了哪个选项。

该示例还说: “您可以轻松地将.eq()替换为另一个.filter()以通过值而不是其位置选择复选框。”

但我一直无法这样做,找不到任何文件如何做到这一点。

你们能帮我做这个吗?只是不知道如何执行.filter()条件来通过其值选择第二个选择框中的选项。提前致谢。

编辑:

这是我到目前为止已经完成:

http://jsfiddle.net/PKypd/54/

在该例子中,我设置了两个选择框的值相同。当我点击加拿大时,我期待在第二个框上选择栏,它具有相同的值,但它会选择所有选项。我觉得我错过了一些非常简单的东西,但无法弄清楚。

回答

1

在你的过滤器,这是你的测试:

return (ui.value == 'can'); 

ui是指在你点击了第一个列表的复选框。当您点击加拿大复选框时,ui.value == 'can'将始终为真。

这是你想要什么,你的过滤器来代替:

return this.value == ui.value; 

这意味着比较项目的当前值在过滤器(this)与被点击的项目的价值被检查(ui )。

+0

非常感谢。 –