У меня проблема, я мало разбираюсь в jquery, поэтому мне сложно скомпоновать мой код. У меня есть разбиение на страницы продуктов. И на нем есть флажки. И моя простая цель - отключить продукты, если флажки выделены. Но я не могу сделать это в одной форме, потому что у меня уже есть другой процесс в моей форме, который является удаленным продуктом, если он выбран. Поэтому я планирую создать действие формы в своем jquery и передать все идентификатор продукта из моего флажка в массив 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>
Что все парни, я надеюсь, ты сможешь понять мой вопрос. Благодарю.
В противном случае вы можете использовать приведенный ниже примерный код <script> $(document).ready(function() { $("input[type=checkbox]").click(function() { var categoryVals = []; categoryVals.push(''); $('#Category_category :checked').each(function() { categoryVals.push($(this).val()); }); $.ajax({ type:"POST", url:"<?php echo $this->createUrl('ads/searchresult');?>",//url of the action page data:{'category': categoryVals}, success: function(response){//code to do somethng if its success } }); } } </script>
пытаться
$('input[name="selected[]"]:checked').each(function() {
console.log(this.value);
});
для получения дополнительной информации: - используйте jQuery для получения значений выбранных флажков
[]
после selected
Пытаться
var values = $('.list input[name="selected[]"]:checked').map(function () {
return this.value;
}).get();
$('checkbox:checked')
. Поскольку ваши флажки уже находятся внутри формы, вы также можете выполнить$('form').serializeArray()
и выполнить итерацию по тому, что проверено, а что нет. Но я не уверен, что вы подразумеваете под "назначить его массиву json", вы имеете в виду простоarr = [];
затем$('checkbox:checked').each(function(){arr.push(this.id)});
тогдаJSON.stringify(arr)
?