将html复选框列表中选中的值获取到隐藏字段中


Get html checkbox list checked values to a hidden field

如何将选中的复选框id放入隐藏变量?

我收到这个错误。

SyntaxError: unterminated string literal
var test = $('input[name=''data-grid_c0[]'').val();

data-grid_c0是复选框数组的名称。

<input type="checkbox" name="data-grid_c0[]" id="data-grid_c0_1" value="1">
<input type="checkbox" name="data-grid_c0[]" id="data-grid_c0_2" value="1">
<input type="checkbox" name="data-grid_c0[]" id="data-grid_c0_3" value="1">

下面是我编写的jquery代码。

$('#deleteall-button').click(function () {
   var atLeastOneIsChecked = $('input[name='"data-grid_c0[]'"]:checked').length > 0;
   var test = $('input[name=''data-grid_c0[]'').val();
   alert(test);
   if (!atLeastOneIsChecked)
   {
     alert('Please select atleast one record to delete');
   }
   else if (window.confirm('Are you sure you want to delete the records?'))
   {
     document.getElementById('search-form').action = 'index.php?r=device/bulkDelete';
     document.getElementById('search-form').submit();
   }
});

我希望将data-grid_c0的值分配给selectedDevices隐藏字段。

<form action="hotelSearch/hotelSearch" method="post"><input id="selectedDevices" type="hidden" value="" name="selectedDevices" /><a id="deleteall-button" class="btn btn-primary">Bulk Delete</a></form>

因此,使用php,我将能够按照以下方式处理它并删除

//check-boxes
if (isset($_POST['selectedDevices'])) { //data-grid_c0
    $del_camps = $_POST['selectedDevices']; //data-grid_c0
    $model_camp = new Device;
    foreach ($del_camps as $_camp_id) {
        $model_camp->deleteByPk($_camp_id);
    }
}

您缺少一个正在结束的]和一个正在关闭的'

var test = $('input[name=''data-grid_c0[]'').val();

应成为

var test = $('input[name=''data-grid_c0[]'']').val();

正如其他人所指出的,你不一定要逃避那些内心的名言。

var test = $('input[name="data-grid_c0[]"]').val();

您选中了不正确的目标选择器复选框,而且您没有正确获得id。用途:

$('input[name="data-grid_c0[]"]:checked').attr('id');

这里不一定需要转义 ,您可以在选择器中使用元字符作为字符串。

var atLeastOneIsChecked = $('input[name="data-grid_c0[]"]:checked').length > 0;
var test = $('input[name="data-grid_c0[]"]').val();

'封装的段中使用"将被视为字符串,不要混淆这一点。