JS替Select添加option
JS为Select添加option
我在 AJAX中是这样的
if (data) {
var jsonObject = eval(data.Table);
var selectSecond = $("#SelectSecond");
selectSecond.empty();
for (var i = 0; i < jsonObject.length; i++) {
var Opt = new Option();
//var Opt = document.createElement("option");
Opt.value = jsonObject[i].numbers;
Opt.Text = jsonObject[i].notects;
selectSecond.options.add(Opt);
}
在前端
<select id="SelectSecond" onchange="selected()">
</select>
但是样没有反应,下拉框是空白的。jsonObject确实是有值的。
------解决方案--------------------
------解决方案--------------------
我在 AJAX中是这样的
if (data) {
var jsonObject = eval(data.Table);
var selectSecond = $("#SelectSecond");
selectSecond.empty();
for (var i = 0; i < jsonObject.length; i++) {
var Opt = new Option();
//var Opt = document.createElement("option");
Opt.value = jsonObject[i].numbers;
Opt.Text = jsonObject[i].notects;
selectSecond.options.add(Opt);
}
在前端
<select id="SelectSecond" onchange="selected()">
</select>
但是样没有反应,下拉框是空白的。jsonObject确实是有值的。
------解决方案--------------------
function createTag(parentTagId, childTag){
var thisObj=document.createElement(childTag);
var parent =document.getElementById(parentTagId);
parent.appendChild(thisObj);
return thisObj;
}
........
if (data) {
var jsonObject=eval("("+data.Table+")"); //转换返回的josn数组,使其变为可操作对象
var selectSecond = $("#SelectSecond");
selectSecond.empty();
for(var obj in jsonObject){
var createObj = createTag('SelectSecond', 'option');
createObj.innerHTML = obj;
createObj.value = jsonObject[obj];
}
}
------解决方案--------------------
<select id="SelectSecond" onchange="selected()"></select>
<select id="SelectSecond1" onchange="selected()"></select>
<script>
//模拟数据
d = [
{numbers:1, notects:'a'},
{numbers:2, notects:'b'},
{numbers:3, notects:'c'}
];
//jquery 写法
$.each(d, function(i, t) {
$("<option value='"+t.numbers+"'>"+t.notects+"</option>").appendTo($('#SelectSecond'));
});
//js 写法
for(i=0; i<d.length; i++) {
o = new Option(d[i].notects, d[i].numbers);
document.getElementById('SelectSecond1').options[i] = o;
}
</script>