如何将选中的复选框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);
}
}
答案 0 :(得分:4)
您错过了结束]
和结束'
var test = $('input[name=\'data-grid_c0[]\').val();
应该成为
var test = $('input[name=\'data-grid_c0[]\']').val();
正如其他人所指出的,你不一定要逃避那些内在的引用。
var test = $('input[name="data-grid_c0[]"]').val();
答案 1 :(得分:2)
您有不正确的选择器来定位已选中复选框,而且您没有正确获取ID。使用:
$('input[name="data-grid_c0[]"]:checked').attr('id');
答案 2 :(得分:2)
转义 ,您可以在选择器中使用元字符作为字符串。
var atLeastOneIsChecked = $('input[name="data-grid_c0[]"]:checked').length > 0;
var test = $('input[name="data-grid_c0[]"]').val();
在"
包裹的片段中使用'
会被视为字符串,不要混淆。