2013-08-16 86 views
1

找了個解決這個但找不到的。jQuery輸入值不起作用

$(document).ready(function() { 
    if ($("input").value()) { 
     $("h1").hide(); 
    } 
} 

因此,這似乎並不奏效($("h1").hide()只是一個佔位符的動作......那部分並不重要,問題是,如果語句不工作)。

頁面上有一種形式,<input type=text>。我希望在任何時候,如果輸入框中有任何文本應用了某種狀態。如果輸入框返回爲空,則狀態將被刪除。

$(document).ready函數中有很多其他函數,爲了清晰起見,我忽略了這些函數......但if語句所在的範圍直接在document.ready函數的內部。附:表單被動態地顯示和隱藏,但是它是硬編碼的 - 它不是動態創建的。

我有這個if語句的位置有什麼問題?

+1

除了使用的替代值VAL()(),您將需要綁定到KEYUP或輸入改變事件來檢查時,該值被添加/刪除 –

回答

7

嘗試用.val()

$(document).ready(function(){ 
    if ($("input").val()) { 
     $("h1").hide(); 
    } 
}); 
更好

您使用nameidclass names選擇。因爲input可以是任何數量,他們還包括checkboxesradio buttonsbutton類型

+0

@ggg是否爲你工作.. ?? – Gautam3164

1

在jQuery中,您必須使用.val()方法而不是.value()。您的支票應如下:

if ($("input").val()) { 
$("h1").hide(); 
} 
1

.value()無效。您應該使用.val()而不是.value()。希望它能使它工作?

1

不像.value()JS,它的.val()JQuery

$(document).ready(function() { 
    if ($("input").value()) { 
     $("h1").hide(); 
    } 
}); 

您應該使用keyup知道,當一個鍵被添加/刪除從textbox

$(document).ready(function() { 
    $("#input_data").keyup(function() { 
     var dInput = $(this).val(); 
     alert(dInput); 

    }); 
}); 

DEMO

注意:由於輸入可以是任何數量和複選框,單選按鈕和按鈕類型都包含在HTML input標記中,您應該使用nameidclass名稱爲**selectors**

input[type=text] 

,或者限制文本輸入內部形成

form input[type=text] 

,或者進一步限制在一定的形式,假定它有ID myForm

#myForm input[type=text] 

如果你想要一個multiple attribute selector

$("input[type='checkbox'][name='ProductCode']") 
//assuming input type as checkbox and name of that input being ProductCode 
0

你應該在value位置使用val解決的辦法是:

$(document).ready(function() { 
    if ($("input").val()) { 
     $("h1").hide(); 
    } 
});