html中,有一组Select,先用JS动态每个select添加option,再想用JS来设置默认值,却不能正确实现
我是想实现每个select默认值都是5
JS代码
<select name="a_state" id="a_state1">
</select>
<select name="a_state" id="a_state2">
</select>
<select name="a_state" id="a_state3">
$("select[name='a_state']").each(function () {
var selectid = $(this).attr("id").toString();
var list=['1','2','3','4','5','6'];
var indexlist=['1','2','3','4','5','6'];
initSelect('a_state1', list, indexlist);
initSelect('a_state2', list, indexlist);
initSelect('a_state3',list, indexlist);
var n = parseInt(selectid.replace("a_state", ""));
var id = "states" + n;
$('#' + selectid + ' ' + "option").each(function () {
var values = $(this).val();
if (values == "5") {
$(this).attr("selected", true);
}
})
})
//创建select
function initSelect(selectid, list, indexlist) {
var cmbArea = document.getElementById(selectid);
clearSelect(selectid);
for (var i = 0; i < list.length; i++) {
cmbAddOption(cmbArea, list[i], indexlist[i]);
}
//cmbSelect(selectid, defaultSelected);
}
//选择Select Opetion
function cmbSelect(selectid, str) {
var cmb = document.getElementById(selectid);
for (var i = 0; i < cmb.options.length; i++) {
if (cmb.options[i].value == str) {
cmb.selectedIndex = i;
return;
}
}
}
//添加Select Option
function cmbAddOption(cmb, str, index) {
var option = document.createElement("OPTION");
cmb.options.add(option);
option.innerHTML = str;
option.value = index;
}
//清理select信息
function clearSelect(selectid) {
$("#" + selectid).empty();
}
断点调试的时候能显示出预想的结果,但浏览器报错“too much recursion”