我有以下两个选择框:如何使用jQuery过滤/克隆选择框选项?
<select id="project">
<option data-person_ids="[75,76,77]">None</option>
<option data-person_ids="[77]">Project A</option>
<option data-person_ids="[75,76]">Project B</option>
<option data-person_ids="[75]">Project C</option>
</select>
<select id="person">
<option value="75">Person A</option>
<option value="76">Person B</option>
<option value="77">Person C</option>
</select>
如何过滤基于在#project
选择价值#person
选择?
这是一个jQuery代码段同事想出了,但我无法得到它的工作,因为我还是新的jQuery的:
$(function() {
var $person = $('#person');
$allPersonOptions = $person.children();
$('#project').on('change', function() {
var selected_project = $('#project').data('person_ids');
filterOptions($allPersonOptions.clone(), +selected_project).appendTo($person.empty());
});
});
function filterOptions($options, id) {
return $options.filter(function() {
return $.inArray(id, $(this).data('project_ids')) > -1
});
}
感谢在这个问题上的任何帮助。
谢谢,现在的作品!你可以向jQuery n00b解释''10'在'parseInt'函数中做了什么? – Tintin81 2015-01-26 21:08:47
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt – epascarello 2015-01-26 21:09:16
好的,这解释得非常好。 – Tintin81 2015-01-26 21:10:42