0

我有一个用于输入数字的文本字段。我想提醒我在文本字段中输入的数字。我的 HTML 是:

<input id="search_number" type="text" name="numbers" />
<button id="wmsearch">Search</button>

JS是:

var sn = ($('#search_number').val());
$('#wmsearch').click(function(){
if(sn != 1234567890){
alert(sn);
}else
{
alert('equal');
}
});

它不起作用...

4

4 回答 4

1

试试这个:

$('#wmsearch').click(function () {
    var sn = $('#search_number').val();
    if (sn != 1234567890) {
        alert(sn);
    } else {
        alert('equal');
    }
});
于 2013-02-19T07:46:10.640 回答
0

您必须在 click 事件处理程序中获取val()of 。$('#search_number')

$('#wmsearch').click(function() {
    var sn = $('#search_number').val();

    if(sn != 1234567890) {
        alert(sn);
    } else {
        alert('equal');
    }
});
于 2013-02-19T07:44:30.907 回答
0

试试这个

  $('#wmsearch').click(function(){
    var sn = $('#search_number').val();//you don't need extra bracket here
    if(sn != 1234567890){
      alert(sn);
    }else
    {
       alert('equal');
    }
  });
于 2013-02-19T07:45:31.943 回答
0

您可以将 jQuery 对象保留在事件处理程序#search_number之外click,但在其中获取值。这样做可以为您每次点击节省一个 DOM 调用。

另外,不要忘记使用 . 将字符串解析为整数parseInt

var $search_number = $('#search_number');
$('#wmsearch').click(function(){
    var sn = parseInt($search_number.val(), 10);

    if(sn != 1234567890){
        alert(sn);
    } else {
        alert('equal');
    }
});

话虽如此,您可以使用?:条件运算符来简化脚本。

var $search_number = $('#search_number');
$('#wmsearch').click(function(){
    var sn = parseInt($search_number.val(), 10);
    alert( (sn == 1234567890) ? "equal" : sn );
});

在这里查看一个活生生的例子。

于 2013-02-19T07:51:01.703 回答