1

定义变量:

// 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 帮助和谷歌的信息来做到这一点。这是完整的代码:

http://jsfiddle.net/NY3nG/2/

我的步骤有什么问题,因为控制台说我的 val 未定义并且它没有打印出警报框中的变量。任何帮助将不胜感激。

4

3 回答 3

2
// Set Autocomplete Location Variable Equal to input id "loc"
$("#loc").val(ac_location);

只需将元素的值设置#locac_location,反之亦然。做

ac_location = $("#loc").val();

并正确编写if,您的 jquery 对象#loc不是ac_location

if ($("#loc").val() != ac_location)

alert("No match");更重要的是,在您的if陈述匹配后比较您。

于 2012-11-12T13:35:55.280 回答
1

如果 ac_location 值未定义,则 val 函数不会设置其值,因为 undefined 被视为好像你没有给它任何输入变量 - > jQuery 认为它是一个 getter 调用

于 2012-11-12T13:36:24.467 回答
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");
}
于 2012-11-12T13:40:03.150 回答