1

我在某个时候有这个工作,因为过去我有一个关于这个的问题对我有帮助,但现在我丢失了代码,所以我回到我的问题并试图让它工作,但现在不是。 ..

请有人帮我解释为什么这不再起作用了?

代码

var valArr = [3, 4];
size = valArr.length;
for (i = 0; i < size; i++) {
    $("#secondary_group option[value='" + valArr[i] + "']").
                                            attr("selected", 1);
    $("#secondary_group").multiselect("refresh");
}

演示:http: //jsfiddle.net/VXbLE/

它应该做的是根据它的值选择选项,基本上,您可以从 jsfiddle 中读取代码并弄清楚。

我是 JavaScript/jQuery 的初学者,所以我不完全理解它......

4

1 回答 1

1
var valArr = [3, 4];
size = valArr.length; // detect array length
// looping over array
for (i = 0; i < size; i++) {

    // $("#secondary_group option[value='" + valArr[i] + "']")
    // select the option with value match with the valArr
    // from the select with id=secondary_group and if match found
    // .attr("selected", 1);  make that option as default selected

    $("#secondary_group option[value='" + valArr[i] + "']")
                                            .attr("selected", 1);
}

// after selecting the options
// refresh the select using below code
// And this code should belong outside of
// above loop, because
// refreshing within loop will only 
// select last matched element
// not all matched

$("#secondary_group").multiselect("refresh");

演示

于 2012-06-25T03:57:14.307 回答