给下一个之后的select移除option但是同时添加data数据,为什么数据被清除了???
$.fn.UiCascading = function(){
var ui = $(this);
var selects = $('select',ui);
selects
.on('change',function(){
var val = $(this).val();
var index = selects.index(this);
// 触发下一个 select 的更新,根据当前的值
var where = $(this).attr('data-where');
where = where ? where.split(',') : [];
where.push( $(this).val() );
selects.eq(index+1)
.attr('data-where',where.join(','))
.triggerHandler('reloadOptions');
// 触发下一个之后的 select 的初始化(清除不应该的数据项)
ui.find('select:gt('+ (index+1) +')').each(function(){
$(this)
.attr('data-where','')
.triggerHandler('reloadOptions');
})
})
.on('reloadOptions',function(){
var method = $(this).attr('data-search');
var args = $(this).attr('data-where').split(',');
var data = AjaxRemoteGetData[ method ].apply( this, args );
var select = $(this);
select.find('option').remove();
$.each( data , function(i,item){
var el = $('<option value="'+item+'">'+item+'</option>');
select.append(el);
});
});
selects.eq(0).triggerHandler('reloadOptions');
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星