统一更新数组 select 值 onchange
Updating array select values onchange in uniform
对我正在处理的表单使用制服,并且我通过克隆以下内容动态添加字段:
<label for="USState">US State:</label>
<select name="USState[]" class="">
<option value="" selected="selected">Select State</option>
字段都工作正常,除了我应用制服时...
$(function () {
$uniformed = $(".styleThese").find("input, textarea, select, button, a.uniformTest").not(".skipThese");
$uniformed.uniform({selectAutoWidth: false});
$("select").change(function() {
$.uniform.update();
});
});
我已经尝试添加一个更改函数来更新所有字段,但是当第一个下拉列表发生变化时,克隆不会发生变化,尽管值仍然可以正常传递。
编辑:
已添加到 jsfiddle:http://jsfiddle.net/nwgnygsf/
由于您是动态地向页面添加元素,因此事件很可能没有被触发,因为没有附加到它的处理程序。
尝试改变这个:
$("select").change(function() {
$.uniform.update();
});
为此:
$(document).on("change", "select", function() {
$uniformed = $(".styleThese").find("input, textarea, select, button, a.uniformTest").not(".skipThese");
$uniformed.uniform({selectAutoWidth: false});
$.uniform.update();
});
编辑
根据评论,I have updated your JSFiddle 进行了一些可能对您有进一步帮助的更改。
对我正在处理的表单使用制服,并且我通过克隆以下内容动态添加字段:
<label for="USState">US State:</label>
<select name="USState[]" class="">
<option value="" selected="selected">Select State</option>
字段都工作正常,除了我应用制服时...
$(function () {
$uniformed = $(".styleThese").find("input, textarea, select, button, a.uniformTest").not(".skipThese");
$uniformed.uniform({selectAutoWidth: false});
$("select").change(function() {
$.uniform.update();
});
});
我已经尝试添加一个更改函数来更新所有字段,但是当第一个下拉列表发生变化时,克隆不会发生变化,尽管值仍然可以正常传递。
编辑:
已添加到 jsfiddle:http://jsfiddle.net/nwgnygsf/
由于您是动态地向页面添加元素,因此事件很可能没有被触发,因为没有附加到它的处理程序。 尝试改变这个:
$("select").change(function() {
$.uniform.update();
});
为此:
$(document).on("change", "select", function() {
$uniformed = $(".styleThese").find("input, textarea, select, button, a.uniformTest").not(".skipThese");
$uniformed.uniform({selectAutoWidth: false});
$.uniform.update();
});
编辑
根据评论,I have updated your JSFiddle 进行了一些可能对您有进一步帮助的更改。