inArray值问题

时间:2011-01-15 07:04:25

标签: jquery arrays

    var checkboxarray = $.makeArray(data.checkboxes);

    $('input[type=checkbox]').each(function () {
    var chckval = $(this).val();
    var verifyvalue = $.inArray(chckval, checkboxarray);

    if(verifyvalue != -1){
    $(this).attr('checked',true);
    }
 });

// data.checkboxes的数组值
[包含1,包含2,包含3,带什么1,带什么2,带什么3,带什么4,要求1,要求2,要求3,要求4]

//问题
我手动设置复选框以匹配数组'checkboxarray'中包含的所有复选框,第一个值总是返回0,但之后返回-1,即使两边都有值匹配,也不会返回-1。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

仅使用fine,只需确保您的checkboxarray数组包含一组“字符串”。

答案 1 :(得分:0)

奇怪, 这些是我的测试复选框值:
value =“包含1” value =“包含2” value =“包含3” value =“包含4” value =“带什么1” value =“带什么2” value =“带什么3” value =“带什么4” value =“要求1” value =“要求2” value =“要求3” value =“要求4”

这是checkboxarray的转储:
包含1,包含2,携带什么1,带什么2,带什么3,带什么4,要求1,要求2,要求3,要求4

当我调用该函数时,只有“包含1”被检查,其余部分保持不受控制,这么小的脚本让我疯狂哈哈哈......有什么帮助吗?

答案 2 :(得分:0)

好的,多亏了你的提示和反馈Ifaour,我想我发现了问题,如果有人遇到类似的情况:

问题出在我的数据库中,我的记录如下:
要求1,要求2,要求3,要求4
这样的转储:
[{“value”:“Requirement 1”},{“value”:“Requirement 2”},{“value”:“Requirement 3”},{“value”:“Requirement 4”}]

看到问题? “要求1”第一个引号和“R”之间的空格“R .....

该脚本正在寻找“选项1”数据库“选项1”

谢谢 Ifaour