javascript - Jquery 动态创建复选框,并查找复选框

标签 javascript jquery ajax

我有来自数据库的信息,并被放入一个列表中,每个元素都有一个复选框。这是目前的做法:

  function subjects(){
    $.ajax({
    url: "lib/search/search.subject.php",
    async: "false",
    success: function(response){
    alert(response);
            var responseArray = response.split(',');    
            for(var x=0;x<responseArray.length;x++){
            $("#subjects").append("<br />");
            $("#subjects").append(responseArray[x]);
            $("#subjects").append("<input type='checkbox' />");
            }           
        }
    });
}

它工作正常,但我需要一种方法来判断是否单击了复选框,如果单击了则显示单击了哪个复选框,或者是否单击了多个复选框。

我似乎根本找不到选择复选框的方法。

响应变量是“math,science,technology,engineering”

最佳答案

因为您正在动态填充复选框,所以您需要委派事件

$("#subjects").on("click", "input[type='checkbox']", function() {
    if( $(this).is(":checked") ) {
       alert('Checkbox checked')
    }
});

为了更好地捕获数据,最好将相应的数据封装到一个 span 中,以便于搜索。

 $("#subjects").append('<span>'+responseArray[x] + '</span>');

$("#subjects").on("click", "input[type='checkbox']", function() {
        var $this = $(this);
        if( $this.is(":checked") ) {
            var data = $this.prev('span').html();
            alert('Current checkbox is : '+ data ) 
        }
    });

关于javascript - Jquery 动态创建复选框,并查找复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960752/

相关文章:

javascript - 如何在 jquery 上更改 dateTime json 的格式?

javascript - jquery css 函数不适用于检测显示/隐藏的元素

javascript - 使用 jQuery Validator 插件将 "yes/no"单选按钮验证为特定的正确值

php - 无法获取 Ajax 更新表单以使用反序列化

php - CakePHP - 使用 php 变量加载 View 并在 ajax 中返回

javascript - Backbone/javascript - 被 'this' 关键字混淆

javascript - 动态添加/删除 html 元素数组结构

javascript - 根据屏幕尺寸改变元素的宽度

javascript - 基于动态可见元素数据属性插入 HTML 表格行 "Heading"

javascript - 如何让 document.write 和 ajax 发挥良好作用?