我试图让多个选择项显示另一个选择的值,例如,我有一家公司,并且如果用户选择要发送所有邮件的公司是同一家公司,则在公司中选择的值应为选择的所有其他选择都具有“ liv_ent”类。
现在,它仅适用于该类选择的第一个选择,不适用于所有其他选择。我尝试一次更新,但没有循环,即使现在有了循环,也没有任何变化。
当切换为True时触发代码(对于所有邮件,同一公司):
$('.liv_ent').each(function(i, obj) {
$(this).val($("select[id='liv_ent_val'] option:selected").val()).trigger("chosen:updated");
});
选择的值更改时调用的是完全相同的代码:
$('#liv_ent_val').chosen().change(function () {
if ($('#liv_exped').prop('checked') == true){
$('.liv_ent').each(function(i, obj) {
$(this).val($("select[id='liv_ent_val'] option:selected").val()).trigger("chosen:updated");
});
}
});
我没有真正得到的是,即使使用console.log进行循环,它也表明该循环正在正确选择选择的框,但是仅更新了第一个!
编辑: 当用户更改输入数字字段时,将动态创建要更新的所选选择,例如,当用户在输入中输入10时,此代码将触发:
$("#liv_nbr").change(function () {
var value = $(this).val();
var $repeatDiv = $("#repeatDiv");
$(".newLiv").remove();
for (var i = 1; i < value; i++) {
$repeatDiv.after($repeatDiv.clone().attr("class", "newLiv"));
}
});
所选择的选择多创造了9倍(1张原始+ 9张)。问题在于只有原始的一个会被更新。