2014-03-02 16 views
0

我有多個表單,我想獲取inputfield的文本,該父級匹配特定的id。如何從類中迭代元素並測試父級ID

這是我的代碼,變量優勝者必須指向inputfield中的文本。輸入字段和按鈕具有相同的具有特定ID的父'表'(67)。

HTML:

<form name='form' id='67' method='post'> 
    Winner: <input type='text' class='nameWinner' placeholder='name winner'> 
    <input type='submit' class='getWinner'> 
</form> 

的javascript:

$(".winnaarAanduiden").click(function() { 
    var duel_id = jQuery(this).parent().attr("id"); 
    var winner = "unknown"; 

$(".nameWinner").each(function() { 
    if($(this).parent().attr("id") == $duel_id) winner = $(this).val(); 
}); 

我做得不對,或者爲m語法不正確的?

+0

你的變量命名爲'duel_id'但你的平等檢查是對'$ duel_id'。它應該是'$(this).parent()。attr(「id」)=== duel_id' – Behrang

+0

是的。 '$ dualid'不存在,'dualid'不存在,而它是創建函數的本地函數。類似地,'winner'對於它創建的函數是本地的,儘管您然後創建了一個全局的「優勝者」 '在其他功能。 – Daedalus

+0

代碼應該做什麼?它與你的期望有什麼不同?您是否使用調試程序瀏覽了代碼? –

回答

0

有沒有必要檢查ID,嘗試

$(".winnaarAanduiden").click(function() { 
    var $form = $(this).closest('form'); 
    var winner = $form.find('.nameWinner').val() || "unknown"; 
}); 
0

試試這個:

$(".winnaarAanduiden").click(function() { 
    var duel_id = jQuery(this).parent().attr("id"); 
    var winner = $('#' + duel_id).find('.nameWinner')[0].innerText; 
} 
+0

這不適用於我 – Stein

+0

編輯 - 應該現在工作。 –