下面的代碼看看:jQueryUI對話框提交處理程序的參數來自哪裏?
this.dialog({
width: 500,
height: 260,
title: "Setup database",
content: $("<form>").append(table),
buttons: {
submit: function(_alert, dialog) {
dialog.find("form").each(function() {
var arr = $(this).serializeArray();
var data = {
mysql: true
};
var empty = false;
$(this).find("input").removeClass("error");
for (var k in arr) {
if ($.trim(arr[k].value) !== "") {
data[arr[k].name] = arr[k].value;
} else {
empty = true;
$(this).find("input[name='" + arr[k].name + "']").each(function() {
$(this).addClass("error");
});
break;
}
}
if (!empty) {
self.ajax({
url: url,
data: data
}, function(result) {
callback(result);
}, function() {
self.mysql(url, callback, _db_name, _db_user, _db_pass, is_dialog);
});
}
_alert.remove();
if($.isFunction(callback_submit)) {
callback_submit();
}
});
}
}
});
有傳遞到了應該按鈕被點擊「提交」時觸發匿名函數兩個參數。但我不知道這些參數應該來自哪裏。有人可以解釋嗎?這與在Javascript中將參數傳遞給Javascript中的匿名函數有關嗎?
此代碼是否真的有效?你可以把它減少到一個工作的例子,並與它建立一個[jsfiddle](http://jsfiddle.net)? – simbabque