【发布时间】:2017-02-09 09:45:12
【问题描述】:
我需要选中生成表中的所有复选框。我已经使用了这个 jquery 代码,但它似乎不起作用。显示复选框。对不起这个凌乱的代码,但我不确定什么是重要的,什么不是。 谢谢大家的帮助
<input type="checkbox" id="selectAll" />
<table>
<tbody>
<tr class='edit_row'>
<input type='hidden' name='fields[]' value='<?php echo $field_id; ?>' />
<td><label class='edit_label' for='<?php echo $name; ?>'><?php echo $label; ?></label></td>
<td>
<?php if ($type == 'checkbox') { ?>
<?php $checked = ($value == 'checked') ? " checked='checked'" : ''; ?>
<label>
<input id='<?php echo $name; ?>' class='edit_checkbox' type='checkbox' name='<?php echo $name; ?>' value='checked'<?php echo $checked; ?> />
</label>
<?php } elseif ($type == 'date') { ?>
<input id='<?php echo $name; ?>'<?php echo $class; ?> type='text' name='<?php echo $name; ?>' value='<?php echo $value; ?>' />
<?php } elseif ($type == 'radio') { ?>
<?php $this->radio_buttons($field_id, $name, $value, $required); ?>
<?php } elseif ($type == 'select') { ?>
<select id='<?php echo $name; ?>'<?php echo $class; ?> name='<?php echo $name; ?>'>
<?php $this->select_options($field_id, $value); ?>
</select>
<?php } elseif ($type == 'text') { ?>
<input id='<?php echo $name; ?>'<?php echo $class; ?> type='text' name='<?php echo $name; ?>' value='<?php echo $value; ?>' />
<?php } elseif ($type == 'textarea') { ?>
<textarea id='<?php echo $name; ?>'<?php echo $class; ?> name='<?php echo $name; ?>'><?php echo $value; ?></textarea>
<?php } ?>
</td>
<td>
<?php if ($required) { ?>
<span class='required_input'><?php _e('Required', CA_PLUGIN_NAME); ?></span>
<?php } ?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<script>
$( document ).ready(function() {
$('#selectAll').click(function(e){
var table= $(e.target).closest('table');
$('td input:checkbox',table).prop('checked',this.checked);
});
console.log( "I'm alive!" );
});
</script>
<?php //END
更新
这是我现在使用的代码。可悲的是,它仍然无法正常工作
<input type="checkbox" id="selectAll" />
<table>
<tbody>
<?php
<tr class='edit_row'>
<input type='hidden' name='fields[]' value='<?php echo $field_id; ?>' />
<td><label class='edit_label' for='<?php echo $name; ?>'><? php echo $label; ?></label></td>
<td>
<?php if ($type == 'checkbox') { ?>
<?php $checked = ($value == 'checked') ? " checked='checked'" : ''; ?>
<label>
<input id='<?php echo $name; ?>' class='edit_checkbox checkBoxClass' type='checkbox' name='<?php echo $name; ?>' value='checked'<?php echo $checked; ?> />
</label>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<script>
$( document ).ready(function() {
$("#selectAll").click(function () {
$(".checkBoxClass").prop('checked', $(this).prop('checked'));
});
console.log( "ready!" );
});
</script>
【问题讨论】:
-
在 OP 中添加渲染的 html 而不是代码 html