我为两个jQuery写了一个插件,首先接收数据并添加
1.
$(function () {
$.fn.mlData = function(params,callback) {
$.getJSON(params.url, function(result) {
callback(result,add);
});
function add (dataValue,dataText,dataName) {
$(mlThis).append('<option dataName="'+dataName+'" value="'+dataValue+'">'+dataText+'</option>');
}
}
});
并使用它
$('#select').mlData({
url:'ajax.php',
},function (result,add) {
$.each(result.regions,function(k,v) {
add(v.id,v.region,'region');
if(v.cities.length > 0) {
$.each(v.cities, function(i,c) {
add(c.id,c.name,'city');
});
}
});
});
它可以工作,但是 2 个插件可以处理相同的元素,但使用新数据
插件 2
$.fn.mlSelector = function(params) {
$('option',this).each(function() {
alert($(this).text());
});
};
而且不行,调用第二个插件,但是他没有看到新的
$('#ss').mlData({
url:'ajax.php',
},function (result,add) {
$.each(result.regions,function(k,v) {
add(v.id,v.region,'region');
if(v.cities.length > 0) {
$.each(v.cities, function(i,c) {
add(c.id,c.name,'city');
});
}
});
});
$('#ss').mlSelect(); // NOT WORK :(