统一更新数组 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 进行了一些可能对您有进一步帮助的更改。