干涸jquery函数
我有一个表单,它有许多按主题分组的选择输入。我对每个组都有一个主选择,允许用户将组中的所有选择设置为主值(gradescales是一种提供1-8级的方法) 我怎么才能把它弄干呢 形式 因此,当section_one_master被更改时,函数被点击,section_one_wrapper div中的所有select输入都被更改,以匹配master中选择的任何值干涸jquery函数,jquery,dry,Jquery,Dry,我有一个表单,它有许多按主题分组的选择输入。我对每个组都有一个主选择,允许用户将组中的所有选择设置为主值(gradescales是一种提供1-8级的方法) 我怎么才能把它弄干呢 形式 因此,当section_one_master被更改时,函数被点击,section_one_wrapper div中的所有select输入都被更改,以匹配master中选择的任何值 我有许多组,每个组都有一个主选择输入。如何将其干燥为一个函数,然后动态标识首先调用该函数的主节点,并使用约定更改相应的分组选定项?您可以
我有许多组,每个组都有一个主选择输入。如何将其干燥为一个函数,然后动态标识首先调用该函数的主节点,并使用约定更改相应的分组选定项?您可以向主节点元素添加类:
$(".section-masters").change( function() {
var id = this.id.replace('master', 'wrapper');
$('#' + id + " select").val(this.value);
});
请注意,在change handler的上下文中,此
引用元素,您不必重新选择元素
您还可以选择节包装器元素并缓存对象,并使用filter
方法,通过缓存对象,您只选择这些元素一次,这比重新选择它们要好
var $wrappers = $('.section-wrappers');
//...
$wrappers.filter('[id="' + id + '"]').val(this.value);
是的,正如@Blazemonger所说的,你可以使用一个类,它会帮助很多 但你也可以这样做
var foos = ['one', 'two'];
$.each(foos, function(index, elem){
var $selector = $("#section_" + elem + "_master");
$selector.change( function() {
var a = $selector.val();
$("#section_" + elem + "_wrapper select").val(a);
});
});
但完全是!如果你能用一个类做它 最后,我为每个主控添加了一个类和一个id,并将每个部分包装成一个id。然后在我的咖啡脚本中:
$(".master_change").change -> $("div##{@.id}_section select").val $(@).val()
脚本由任何.master_change触发,它从'this'获取id,然后添加到'_section',后者获取该节的包装选择…然后当然更改其所有值以匹配master。12线对一线 使用类而不是id。
var foos = ['one', 'two'];
$.each(foos, function(index, elem){
var $selector = $("#section_" + elem + "_master");
$selector.change( function() {
var a = $selector.val();
$("#section_" + elem + "_wrapper select").val(a);
});
});
$(".master_change").change -> $("div##{@.id}_section select").val $(@).val()