我试图通过ajax发送一个复选框值来将数据发送到外部函数。
我有使用以下javascript的函数,但它非常混乱,因为我目前正在为现有的每个脚本实例编写这个javascript函数。
<form>
<input type="checkbox" name="event_status" id="event_status1455" value="1" <?php echo ($event_status == '1' ? 'checked="checked"' : '') ?>>
</form>
<form>
<input type="checkbox" name="event_status" id="event_status1456" value="1" <?php echo ($event_status == '1' ? 'checked="checked"' : '') ?>>
</form>
<form>
<input type="checkbox" name="event_status" id="event_status1457" value="1" <?php echo ($event_status == '1' ? 'checked="checked"' : '') ?>>
</form>
<script>
$('input:checkbox').change(function(e) {
e.preventDefault();
var isChecked = $("input:checkbox").is(":checked") ? 1:0;
$.ajax({
type: 'POST',
url: '<?php echo $this->url('/profile/list', 'event_status', $cobj->getCollectionID())?>',
data: { event_status:$("input:checkbox").attr("id"), event_status:isChecked }
});
});
</script>
正如您在上面所看到的,javascript只会响应此特定复选框。我无法弄清楚如何编码它,以便我在我的页面上有一个javascript函数,将运行我的每个复选框。
我已经调整了原帖中的代码。我有我的ajax做我想要的,但是ajax函数只执行最后一个复选框,是他们离开我可以转换javascript来为每个复选框提供功能吗?
答案 0 :(得分:2)
解决了我的问题我需要获取我的复选框的ID才能区分我正在运行我的函数的哪个复选框值。
<script>
$('input:checkbox').change(function(e) {
e.preventDefault();
// Determine ID
var value = $(this).attr('id');
var EsID = value;
var isChecked = $("input:checkbox").is(":checked") ? 1:0;
$.ajax({
type: 'POST',
url: "<?php echo $this->url('/profile/list', 'event_status')?>"+EsID +"",
data: { event_status:$("input:checkbox").attr("id"), event_status:isChecked }
});
});
</script>
答案 1 :(得分:0)
如何给复选框输入一个类并在类上引发更改事件而不是复选框名称。
e.g。
更改
$('#event_status<? echo $cobj->getCollectionID()?>').change(function() {
到
$('.CheckboxClassName<? echo $cobj->getCollectionID()?>').change(function() {