jquery,js,checkbox多選框復選框取值和賦值


今天一個同事不太會多選框的取值和賦值的問題,我幫他解決了一下,不想自己想的朋友可以參考一下。

獲取checkBox的值,checkBox的html如下

<input type="checkbox" value="1" name="sProblem">check1
<input type="checkbox" value="2" name="sProblem">check2
<input type="checkbox" value="3" name="sProblem">check3
<input type="checkbox" value="4" name="sProblem">check4

獲取選中的checkbox的val,並合成為一個字符串以逗號隔開。

function getTheCheckBoxValue(){
        var test = $("input[name='sProblem']:checked");
        var checkBoxValue = ""; 
        test.each(function(){
            checkBoxValue1 += $(this).val()+",";
        })
        checkBoxValue = checkBoxValue.substring(0,checkBoxValue.length-1);
設置傳過來的checkbox的值並選中。傳過來的是1,2,3,說明選中的是value為1,2,3的三個checkbox。如果前面不是123這種數字,是其他的字符也是支持的。
    function setTheCheckBoxValue(){
    var checkBox = "1,2,3";
    var checkBoxArray = checkBox.split(",");
    for(var i=0;i<checkBoxArray.length;i++){
    $("input[name='sProblem']").each(function(){
    if($(this).val()==checkBoxArray[i]){
    $(this).attr("checked","checked");
    }
    })
    }
    }
設置的這個方法是有缺陷的,如果checkbox過多不建議用,可以將each換成for循環來代替,減少無用的循環。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM