2011-12-10 12 views
4
<form method="post" id="formFinish2"> 
    <input type="checkbox" name="finish" /> 
    <input type="hidden" name="id" class="finishId" value="2" /> 
</form> 

<script type="text/javascript"> 
    $(":checkbox[name='finish']").click(function() { 
     id = $(this).closest('input.finishId').val(); 
     alert(id); 
     $("#formFinish".id).submit(); 
    }); 
</script> 

アラートme undefinedクリックしたチェックボックスの横にあるクラスfinishIdの入力から来ている2を私に警告したいと思います。次の入力の値を取得

+2

@ Saeedの答えとは別に、文法エラー '$("#formFinish ".id)'は '$("#formFinish "+ id)でなければなりません。 –

+0

単に親を提出しないのはなぜですか? '$(this).closest(" form ")。submit();'その後、余分な入力は必要ありません。 –

答えて

5

closestはDOM を上向きで検索しているためです。言い換えれば、closestは、あなたが代わりにsiblingsを使用する必要があります父要素、その後、祖父要素など

で検索を開始します。

$(this).siblings('input.finishId').val(); 
関連する問題