Jquery 如何设置和选择多个值?
我有一个具有多个值的select。我需要设置这些值,但不确定如何设置Jquery 如何设置和选择多个值?,jquery,Jquery,我有一个具有多个值的select。我需要设置这些值,但不确定如何设置 var values= data.record.execId; $.each(values.split(","), function(i,e){ data.form.find('select[name=execs]') .val(e); }); 代码仅设置两个值中的一个。我做错了什么 编辑: 字符串值为:12,14,15 编辑#2 在我疲惫的昏迷中,我忘了包括一行代码。以下是我认为应该的每个循环的完整示例: $.
var values= data.record.execId;
$.each(values.split(","), function(i,e){
data.form.find('select[name=execs]')
.val(e);
});
代码仅设置两个值中的一个。我做错了什么
编辑:
字符串值为:12,14,15
编辑#2
在我疲惫的昏迷中,我忘了包括一行代码。以下是我认为应该的每个循环的完整示例:
$.each(values.split(","), function(i,e){
data.form.find('select[name=execs]')
.attr({multiple:'multiple',name:'execs[]'}) <-- Forgot to include this
.val(e);
});
$.each(value.split(“,”),函数(即,e){
data.form.find('select[name=execs]'))
.attr({multiple:'multiple',name:'execs[]})试试这样的方法
var values = "12,14,15";
$.each(values.split(","), function (i, e) {
$("select[name='execs'] option[value='" + e + "']").prop("selected", true);
});
别忘了标记“选择多个”
<select name="execs" id="strings" multiple style="width:100px;">
<option value="12">A</option>
<option value="13">B</option>
<option value="14">C</option>
<option value="15">D</option>
<option value="16">E</option>
</select>
您只需将数组传递给val()
:
正如政府所说:
通过传递元素值数组,可以在
待选择
请显示您的值字符串。@sᴜʀᴇsʜᴀᴛᴛᴀ, 我把字符串值贴到了最上面。谢谢你在循环的每次迭代中都覆盖了你设置的select
s。啊,好的。谢谢。我对JQ很陌生,所以这并不奇怪。你能告诉我如何实现吗?Raj,我得到了这个:错误:语法错误,无法识别的表达式:选择[name=execs]选项[value=“12”]“
您在中有额外的”
“]
。谢谢Tushar。我将删除该引号。嗯。我只选择了一个值,但不是两个都选择。谢谢Raj。我现在就试试。嗨,Frederic,我现在就试试。谢谢你的回答。Frederic,不幸的是,它只选择了一个值。@NaN,奇怪,它在中对我很好。你确定
元素的值是正确的吗数组中的数字是多少?你能用
元素的标记来更新你的问题吗?再次感谢Frederic,是的,我确信这些值是正确的。标记实际上是由jtable插件生成的,所以我没有什么可以发布的。但是我注意到我忘了包含一段本应该是疯狂的代码e我文章的一部分。我可以在这里发布吗?这是我忘记在我的文章中包含的代码,它也应该成为这篇文章的一部分:.attr({multiple:'multiple',name:'execs[]})
var values = "12,14,15";
var select = data.form.find("select[name='execs']");
select.attr({multiple:'multiple',name:'execs[]'});
$.each(values.split(","), function (i, e) {
$("option[value='" + e + "']",select).prop("selected", true);
});
data.form.find("select[name=execs]").val(data.record.execId.split(","));