2 つの 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());
});
};
動作しません、2 番目のプラグインを呼び出しますが、新しいプラグインが表示されません
$('#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 :(