2011-12-10 47 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> 

通知我undefined。我希望它能提醒我2,它來自於類別爲finishId的輸入,位於您單擊的複選框旁邊。獲取下一個輸入的值

+2

除了@ Saeed的回答,您應該修復語法錯誤'$(「#formFinish」.id)'應該是'$(「#formFinish」+ id)'。 –

+0

爲什麼不簡單地提交父母? '$(this).closest(「form」)。submit();'那麼你不需要額外的輸入。 –

回答

5

這是因爲closest只搜索DOM 向上。換句話說,closest開始由父親元素,然後祖父元素

搜索您應該使用siblings代替。

$(this).siblings('input.finishId').val();