定义变量:
// Define Autocomplete Location Variable
var ac_location;
设置变量:
// Set Autocomplete Location Variable Equal to input id "loc"
$("#loc").val(ac_location);
打印变量:
// Print Autocomplete Variable
alert(ac_location);
比较变量:
// Compare "#loc" input with ac_location variable
if (ac_location.val() != $("#loc")) {
// Print Autocomplete Variable
alert(ac_location);
} else {
alert("No match");
}
我曾尝试使用来自jquery帮助和谷歌的信息来执行此操作。这是完整的代码:
我的步骤有什么问题,因为控制台说我的val是未定义的,并且它不会在警告框中打印出varialbe。非常感谢任何帮助。
答案 0 :(得分:2)
// Set Autocomplete Location Variable Equal to input id "loc"
$("#loc").val(ac_location);
只需将元素#loc
的值设置为ac_location
,反之亦然。做
ac_location = $("#loc").val();
并正确编写if
,您的jquery对象为#loc
而非ac_location
if ($("#loc").val() != ac_location)
以及在alert("No match");
语句 匹配 后,if
进行比较。
答案 1 :(得分:1)
如果ac_location值未定义,则val函数不会设置其值,因为undefined被视为好像你没有给它任何输入变量 - > jQuery认为它是一个getter call
答案 2 :(得分:1)
我正在纠正你的代码:
定义变量:
// Define Autocomplete Location Variable
// This is not a jquery object, just an ordinary js variable.
var ac_location;
设置变量:
// Set Autocomplete Location Variable Equal to input id "loc"
// You want to take the value of #loc to ac_location
ac_location = $("#loc").val();
打印变量:
// Print Autocomplete Variable
alert(ac_location);
比较变量:
// Compare "#loc" input with ac_location variable
// ac_location is a string, compare it with value of #loc field:
if (ac_location != $("#loc").val()) {
// Print Autocomplete Variable
alert(ac_location);
} else {
alert("No match");
}