jQuery-显示多个选定的值下拉菜单

时间:2018-08-14 04:24:54

标签: jquery

我有一个多选下拉菜单。我试图在下拉列表中显示选定的值。

如果我对值进行硬编码,它会起作用-

$("select[name=clause1]").val(["ab","cd"]);

但是,如果我使用值定义变量,则不会-

var temp = "[\"ab\",\"cd\"]"; 
$("select[name=clause1]").val(temp);

我做错了什么?

2 个答案:

答案 0 :(得分:1)

第一个代码段使用数组设置值。第二只用一个字符串尝试。由于该字符串没有匹配值,因此它根本不会设置选择框的值。

改为将代码更改为此:

var temp = ["ab", "cd"]; 
$("select[name=clause1]").val(temp);

此外,如果您具有字符串(JSON),则可以使用JSON.parse将其转换为数组:

var temp = JSON.parse("[\"ab\",\"cd\"]"); 
$("select[name=clause1]").val(temp);

答案 1 :(得分:0)

您也可以为此使用eval功能。

var values= "[\"ab\",\"cd\"]"
$('select').val(eval(values))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple>
<option value="ab">ab</option>
<option value="bc">bc</option>
<option value="cd">cd</option>
</select>

但是eval is evil,但在许多情况下还是有用的。如果您仔细查看链接的说明,它将通过eval告诉您JSON.parse的用法,但更安全。