2012-06-26 38 views
0

我currenlty使用此來查看是否檢查指定的表中的每一行復選框。jquery更新隱藏字段依賴於複選框

$("#table_pdf_view input[type=checkbox][checked]").each(

    function() { 



    } 

); 

如果該行被選中,我希望它使用複選框輸入ID來更新一個單獨的隱藏表。

echo '<td width="200px"><input type=" checkbox" id="'.$row['client_id'].'" name="download"></td>'.PHP_EOL; 

隱藏表將包含一個輸入字段。如果多行被選中,我想用逗號分隔每個ID。

回答

2

這樣做

var $checkboxes = $("#table_pdf_view input[type=checkbox]"); 
$checkboxes.on('change',function(){ 
    var ids = $checkboxes.filter(':checked').map(function(){ 
     return this.id; 
    }).get().join(','); 
    $('#Hidden_input_id').val(ids); 
}); 

變化#Hidden_input_id與你的隱藏輸入的ID。這將更新hidden input's value當用戶check/uncheck複選框。

演示:http://jsfiddle.net/npmB3/1/

瞭解更多關於.on().map()

+0

謝謝你,直到你指定的複選框的邊界完美的作品http://jsfiddle.net/npmB3/8/ –

+0

@SamCorbet ,那是因爲你的標記無效並且瀏覽器的標記是正確的,比如'chrome'將複選框從表中取出,'selector'返回空集。你必須把複選框放在'td'裏面。像這樣http://jsfiddle.net/npmB3/13/ –

+0

謝謝,由於某種原因,我不能讓它在我的實際頁面上工作,但我相信它不會太難以弄清楚爲什麼。非常感謝 :) –