2014-03-13 28 views
0

我在某些單元格中有一個包含輸入元素的表格。我無法弄清楚爲什麼我無法檢索用戶輸入的值。無法從輸入文本中檢索值(添加了部分視圖)

我的HTML被充當爲:

<table><tr class="addedItem"><td> 
    <input type="text" class="form-control" placeholder="0" value="0" /> 
</td></tr></table> 

我jQuery選擇是:

$('table > tbody > tr.addedItem > td > input').each(
     function(idx,item){ 
       alert($(item).val()); 
     } 
    ); 

想不通爲什麼這些投入始終檢索0(當然,他們中用戶輸入後, )。

在此先感謝。 這個jsfiddle按預期工作,我需要檢查其他代碼上的其他東西。 http://jsfiddle.net/pp4Yd/

回答

0

問題得到解決通過去除局部視圖。 當我做了jsfiddle的時候,我注意到一切都是正確的,所以通過局部視圖傳遞的表單是我唯一的「未知」場景。

我想這些元素不在jQuery範圍內,我稍後會發布詳細的答案。謝謝全部

0

您需要使用change()事件獲得更新的值:

$('table > tbody > tr.addedItem > td > input').each(function (idx, item) { 
    $(this).change(function() { 
     alert(this.value); 
    }); 
}); 
+0

非常感謝您的幫助,問題是通過局部視圖提供的表單。 – celerno

0

沒有tr元素與類addedItem

嘗試做這種方式,

$('table > tbody > tr > td > input').each(function (idx, item) { 
    $(this).change(function() { 
     alert(this.value); 
    }); 
}); 

編輯:

您還必須bindchange事件each元素。

+0

非常感謝您的幫助,問題是通過局部視圖提供的表單。 – celerno

1

沒有帶類addItem的tr。您可以消除,或乾脆試試下面

$('table > tbody > tr.addedItem > td > input').each(
     function(){ 
       alert(this.value); 
     } 
    ); 

,或者如果你有form-control對於TD裏面每個輸入,然後使用下面

$('.form-control').each(function(){ 
        alert(this.value);} 
     ); 
+0

對不起,班上有。我在此處粘貼代碼時已刪除。我會創建一個jsfiddle – celerno

+0

好吧,讓我糾正我的代碼 –

+0

使用this.value而不是this.val()...更正答案 –