我有一个跨度Id,其中一些值对应于多个选择框项目中的值。我想从span Id中取值并选择列表中的相应项。
<span id="test">
1,4
</span>
<select id='multipleSelect' multiple='multiple'>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
我可以将字符串读入数组,但不知道如何使用数组来选择多个选择框中的项目
var test = $("#test").text();
var testArray = test.split(',');
我想如果值已知,那么很容易做到这样的事情
$('#multipleSelect').val(['1', '2']);
到目前为止,这里有JS小提琴来说明这个想法 https://jsfiddle.net/deu8ftpb/1/
答案 0 :(得分:3)
试试这段代码。您只是缺少 trim() 该文本并将拆分的数组放入val()
var test = $.trim($("#test").text());
var testArray = test.split(',');
$('#multipleSelect').val(testArray);
答案 1 :(得分:0)
你做的一切都是正确的。你只是忘了设置选择的val。
像这样:Suave_Customreviews_Block_Reviews extends Mage_Core_Block_Template
答案 2 :(得分:0)
也许有点晚。
您必须修剪数组中的值。
在您的情况下,我决定使用.map和修剪值
var test = $.trim($("#test").text());
var testArray = test.split(',');
var testArray = testArray.map(function(item){ return item.trim(); });
$('#multipleSelect').val(testArray);
我有一个类似的情况,但是我的“ testArray”是一个整数数组(而不是像testArray那样的字符串)。就我而言,我必须使用.map将值从整数转换为字符串。