2.选中第一个下拉框的任意一个值,同时第三个下拉框的值跟着改变,显示对应的数据。
ps:what?光动态添加就足以。。。。赋值还不能直接赋,而是添加下拉时就赋值。。。。。经过百般折磨,头发掉了n根,最终通过巧妙的思路解决了,在此记录下。若对你有所帮助,点赞加关注吧!后续及时更新。
第一个下拉选项显示
选择下拉项,同时加载数据到第三个下拉框
注:在这里直接去掉了第二行的标签
为了获取改变数据的行,试了很久,动态生成的下拉框无法获取到索引,所以才想到了使用id,并且给id后加一个数字
1、确定当前需要添加元素的text以及对应的value2、获取当前下拉框中所有的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>
触发获取动态数据的方法获取动态数据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 所以新增元素后 需要手动加载样式
})
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)