【发布时间】:2014-06-13 12:17:41
【问题描述】:
我有一个问题,我对 jquery 知之甚少,这就是为什么我很难处理我的代码。我有一个产品分页。并且上面有复选框。我的简单目标是在选中复选框时禁用产品。但我不能以一种形式执行此操作,因为我的表单中已经有另一个流程,如果选择,则删除产品。这就是为什么我打算在我的 jquery 中创建一个表单操作并将我的复选框中的所有产品 id 传递给一个 json 数组。但是我该怎么做呢?
这是我的一些代码
<form action="<?php echo $delete; ?>" method="post" enctype="multipart/form-data" id="form">
<table class="list">
<thead>
<tr>
<td width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);" /></td>
<td class="left"><?php echo $column_name; ?></td>
<td class="right"><?php echo $column_sort_order; ?></td>
<td class="left"><?php echo $column_status; ?></td>
<td class="right"><?php echo $column_action; ?></td>
</tr>
</thead>
<tbody>
<?php if ($categories) { ?>
<?php foreach ($categories as $category) { ?>
<tr>
<td style="text-align: center;"><?php if ($category['selected']) { ?>
<input type="checkbox" name="selected[]" value="<?php echo $category['category_id']; ?>" checked="checked" />
<?php } else { ?>
<input type="checkbox" name="selected[]" value="<?php echo $category['category_id']; ?>" />
<?php } ?></td>
<td class="left"><?php echo $category['name']; ?></td>
<td class="right"><?php echo $category['sort_order']; ?></td>
<td class="right"><?php echo ($category['status'] == 1 ? 'Enable' : 'Disable'); ?></td>
<td class="right"><?php foreach ($category['action'] as $action) { ?>
[ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ]
<?php } ?></td>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td class="center" colspan="4"><?php echo $text_no_results; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</form>
<br />
<div align="right">
<select name="action_select">
<option value="enable">Enable Selected</option>
<option value="disable">Disable Selected</option>
</select>
<input type="button" class="button" id="update_status" value="Update Status" />
</div>
<br />
这是我的 jquery 示例
<script type="text/javascript">
$("#update_status").on('click', function(){
//how can I get the id of my checkboxes and assign it to a json array
//How can I create a form inside it?
});
</script>
这就是所有的人,我希望你能理解我的问题。谢谢。
【问题讨论】:
-
您可以使用
$('checkbox:checked')获取jQuery 中所有选中的复选框。由于您的复选框已经在表单中,您还可以执行$('form').serializeArray()并遍历检查和未检查的内容。但我不确定您所说的“将其分配给 json 数组”是指arr = [];然后是$('checkbox:checked').each(function(){arr.push(this.id)});然后是JSON.stringify(arr)? -
您也可以采用“Google Mail”(网络 UI)方法,在行的开头使用一个复选框,并在顶部/底部为选定的选项选择多个操作。跨度>
标签: javascript php jquery json