2013-02-19 51 views
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'); 
} 
}); 

它不工作...

回答

0

你必须在click事件处理程序来获取$('#search_number')val()

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

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

试试这个

$('#wmsearch').click(function(){ 
    var sn = $('#search_number').val();//you don't need extra bracket here 
    if(sn != 1234567890){ 
     alert(sn); 
    }else 
    { 
     alert('equal'); 
    } 
    }); 
0

试试这个:

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

你可以把jQuery的对象#search_numberclick事件处理程序,但进入它里面的值。这样做可以节省每次点击一次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'); 
    } 
}); 

说了这么多,你可以通过使用?: conditional operator简化脚本。

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

See a live example here.