我试图从接收自ajax的数据中动态选择多个选择框中的选项。

的HTML

<select multiple="multiple" id="sbox[]" name="sbox[]">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
</select>


jQuery查询

$.post(
    "test.php",
    {
       action: "test"
    },
    function(data) {
       //data received is in the format of "2,3"
       splitText = data.split(",");
       $.each(splitText, function(k,v) {
           $("#sbox[]").children("option[value="+v+"]").attr("selected","selected");
       });
    }
);


但这是行不通的。

最佳答案

这是行不通的,因为jQuery认为#sbox[]是ID选择器#sbox且具有空的属性选择器[],这是无效的。

您可以跳过方括号,以便选择器变为#sbox\[\]。但是,您的ID首先不需要方括号;只需将其命名为id="sbox"并选择#sbox。只有在name属性中,方括号才是必需的,以将您的选择指定为值的数组。

关于jquery - 在多个选择框中选择多个选项,其名称中带有“[]”并带有ajax,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5562945/

10-11 04:06
查看更多