2012-06-26 39 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

谢谢,由于某种原因,我不能让它在我的实际页面上工作,但我相信它不会太难以弄清楚为什么。非常感谢 :) –