Ajax复选框功能

时间:2014-05-19 15:47:50

标签: javascript ajax checkbox concrete5

我试图通过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来为每个复选框提供功能吗?

2 个答案:

答案 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() {