如何使用地图功能jQuery用逗号分隔ID?

时间:2018-11-06 05:21:13

标签: javascript jquery html

代码:

<script>
    $("#save_other").click(function(e){
        e.preventDefault();
        question = $(".question").map(function() {
                        return this.id;
                    }).get().join(",");
        alert(question);
    });
</script>

<input type="checkbox" class="question" id="abc">ABC
<input type="checkbox" class="question" id="pqr">PQR
<input type="checkbox" class="question" id="xyz">XYZ

<a href="javascript:void(0)" id="save_other" >Add These Question</a>

在这个问题上,我有多个复选框。现在,当我单击ID save_other然后会警告所有值时发生什么,如果我仅选中一个复选框。现在,我真正想要的是,当我选中一个复选框时,它只显示一个值,如果我选中两个复选框,则它显示abc,pqr,就像这样。所以,我该怎么做请帮助我。

谢谢

4 个答案:

答案 0 :(得分:1)

您不在检查是否已选中

$("#save_other").click(function(e){
        e.preventDefault();
        question = $(".question").map(function() {
                        if(this.checked){
                          return this.id;
                        }
                    }).get().join(",");
        alert(question);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="question" id="abc">ABC
<input type="checkbox" class="question" id="pqr">PQR
<input type="checkbox" class="question" id="xyz">XYZ

<a href="javascript:void(0)" id="save_other" >Add These Question</a>

答案 1 :(得分:0)

请尝试这种方式-

var checkboxes = [];
$.each($(".question:checked"), function(){            
    checkboxes.push($(this).val());
});
var allCheckedValues = checkboxes.join(",");

答案 2 :(得分:0)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


    <input type="checkbox" class="question" id="abc">ABC
    <input type="checkbox" class="question" id="pqr">PQR
    <input type="checkbox" class="question" id="xyz">XYZ

    <a href="javascript:void(0)" id="save_other" >Add These Question</a>


     <script>
        $("#save_other").click(function(e){
            e.preventDefault();
            question = $(".question:checked").map(function() {
                            return this.id;
                        }).get().join(",");
            alert(question);
        });
    </script>

答案 3 :(得分:0)

您可以将选定的jQuery集转换为javascript数组并使用很酷的数组方法。

$("#save_other").click(function(e){
    e.preventDefault();
    
    var selectedQuestionIds = $(".question").toArray().reduce((selectedIds,question) => {
    
      return question.checked ? selectedIds.concat(question.id) : selectedIds
      
    }, [])
    
    alert(selectedQuestionIds);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="question" id="abc">ABC
<input type="checkbox" class="question" id="pqr">PQR
<input type="checkbox" class="question" id="xyz">XYZ

<a href="javascript:void(0)" id="save_other" >Add These Question</a>