我正在使用jQuery迭代填充单个选择下拉菜单:
if(users_inf === text){
mySelect.append(
$('<option></option>').val(text).html(text)
);
}else{
$('<option></option>').val(text).html(text)
}
当users_info
与text
匹配时,我要做的是将选项设置为“已选择”。
我假设我会使用:
.prop('selected', true);
但是,我试过了:
$('<option></option>').val(text).html(text).prop('selected', true);
但没有快乐 - 欢迎任何建议!
答案 0 :(得分:3)
有时,旧的方法是最好的:
def myfunc(a,b):
return a+b[0]
v = np.vectorize(myfunc, exclude=['b'])
a = np.array([1,2,3])
b = [0]
v(a,b)
直播示例:
var opt = new Option(text);
opt.selected = users_inf === text;
mySelect[0].options.add(opt);
&#13;
doOne($("#single"), "one");
doOne($("#multi"), "one");
doOne($("#single"), "two");
doOne($("#multi"), "two");
doOne($("#single"), "three");
doOne($("#multi"), "three");
function doOne(mySelect, text) {
var opt = new Option(text);
opt.selected = true;
mySelect[0].options.add(opt);
}
&#13;
也就是说,jQuery方式也有效:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="single"></select>
<hr>
<select id="multi" size=10 multiple></select>
......这让我想知道是否还有其他事情发生。
$("<option></option>")
.val(text)
.html(text)
.prop('selected', users_inf === text)
.appendTo(mySelect);
&#13;
doOne($("#single"), "one");
doOne($("#multi"), "one");
doOne($("#single"), "two");
doOne($("#multi"), "two");
doOne($("#single"), "three");
doOne($("#multi"), "three");
function doOne(mySelect, text) {
$("<option></option>").val(text).html(text).prop('selected', true).appendTo(mySelect);
}
&#13;
答案 1 :(得分:0)
您实际上需要将selected
选项设置为selected
不正确。很奇怪,我知道。
所以你的功能是:
if(users_inf === text){
mySelect.append(
$('<option></option>').val(text).html(text).attr("selected","selected");
);
} else {
$('<option></option>').val(text).html(text)
}
答案 2 :(得分:0)
以下我将如何做到这一点:
$(function () {
var values = ["bad", "bad", "good", "bad"];
$(values).each(function () {
$("#mySelect").append("<option value=\"" + this + "\">" + this + "</option>");
});
$("#mySelect option[value='good']").prop("selected", true);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mySelect"></select>
&#13;