我想在ajax中访问#schooSelect
的值,这样我就可以将一些数据发送到php onChange。
$.LoadBooks = function () {
$(document).on('change', '#SchoolSelect', (function (e) {
var SchoolVal = ($(this).val())
$.LoadBooks()
}))
var SchoolVal = ($('#SchoolSelect').val())
$.ajax({
type: "GET",
data: {
data: SchoolVal
},
url: "../php/booksads.php"
}).done(function (feedback) {
$('#booksads').html(feedback)
});
}
$.LoadBooks()
答案 0 :(得分:0)
您的代码结构奇特。你以某种方式“递归地”在事件处理程序中调用$.LoadBooks
,这将导致一个新的事件处理程序被添加到元素中,这肯定不是你想要的。
在函数外部绑定事件处理程序一次:
var loadBooks = function(schoolVal) {
$.ajax({
type: "GET",
data: {
data: schoolVal
},
url: "../php/booksads.php"
}).done(function (feedback) {
$('#booksads').html(feedback)
});
}
$(document).on('change', '#SchoolSelect', function(e) {
loadBooks($(this).val());
});
您可以将select元素的值传递给函数(如此处所示),也可以在其中调用var schoolVal = $('#SchoolSelect').val()
来获取值。
约定是只有构造函数的名称以大写字母开头。如果您的函数特别与jQuery相关,则不应将其添加到$
。