您可以将变量searchRooms定义为全局(或其他一些合适的封闭范围),超出.change函数范围,并且在您进行AJAX调用时可以使用它。或者,您可以在执行AJAX调用时获取所需的值,与在.change函数中执行此操作的方式完全相同。
事实上,就目前而言,你的.change函数没有任何用处。您正在抓取#rooms中的值并将其放入一个立即超出范围的局部变量中。所以目前还不清楚你到底想要做什么。
所以,你可以这样做:
var searchRooms;
$("#rooms").change(function () {
searchRooms = $("#rooms").val();
});
或者,更好的是,你可以这样做:
$("#mybutton").click(function() {
var searchRooms = $("#rooms").val();
var myotherdropdown = $("#otherdropdown").val();
// now do your AJAX call, passing in your variables you grabbed above.
$.ajax(//.....
});
更新:这样的事情:
var searchRooms;
var searchAdults;
var searchChildren;
$("#rooms").change(function () {
searchRooms = $("#rooms").val();
});
$("#adults").change(function () {
searchAdults = $("#adults").val();
});
$("#searchChildren").change(function () {
searchChildren = $("#children").val();
});
$(#"btn").click(function(){
// How you pass the data here will depend on what you are calling and what format it's expecting. It *might* look something like this...
$.ajax({
data: { "searchRooms" : searchRooms, "searchAdults" : searchAdults, "searchChildren": searchChildren },
// all your other settings for this ajax call...
});
});