怎么动态给select添加数据

怎么动态给select添加数据,第1张

触发获取动态数据的方法

获取动态数据list

清除select下面所有的选项

把获取的数据append到select下面

$('#id).change(function(){

var val = this.value

document.getElementById("selectId").options.length = 0

if(val != null &&val != ''){

$.post(url, {"temp": val}, function(data){

if(data != null &&data.length >0){

for(var i=0i<data.lengthi++){

var o = data[i]

$("#selectId").append("<option value='"+o[0]+"'>"+o[1]+"</option>")

}

}

$("#selectId").selectmenu('refresh', true)//jqm 是动态加载的css 所以新增元素后 需要手动加载样式

})

}

})

1、确定当前需要添加元素的text以及对应的value

2、获取当前下拉框中所有的option元素数组optionArr,可以通过$('#citySelect option')获取元素集合。

3、遍历optionArr,判断需要添加的text或者value是否和optionArr相同,相同则不添加,没有重复则添加。

示例:

<select id='citySelect'>

<option value='beijing'>北京</option>

<option value='shanghai'>上海</option>

</select>

方法:

<script>

function addCity(value, text){

var optionArr = $('#citySelect option')

for(var i=0i<optionArr.lengthi++){

if(optionArr[i].text == text || optionArr[i].value == value){

return false

}

}

var addOption = "<option value='" + value + "'>" + text + "</option>"

$('#citySelect').append(addOption)

}

</script>

<select id="ddlResourceType" onchange="getvalue(this)">

</select>

动态删除select中的所有options:

document.getElementById("ddlResourceType").options.length=0

动态删除select中的某一项option:

document.getElementById("ddlResourceType").options.remove(indx)

动态添加select中的项option:

document.getElementById("ddlResourceType").options.add(new Option(text,value))

上面在IE和FireFox都能测试成功,希望以后你可以用上。

其实用标准的DOM *** 作也可以,就是document.createElement,appendChild,removeChild之类的。

取值方面

function getvalue(obj)

{

var m=obj.options[obj.selectedIndex].value

alert(m)//获取value

var n=obj.options[obj.selectedIndex].text

alert(n)//获取文本

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11252869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存