用于Javascript中的In和属性问题

用于Javascript中的In和属性问题,javascript,jquery,kendo-asp.net-mvc,Javascript,Jquery,Kendo Asp.net Mvc,我目前正在创建一个函数,它通过数组检查值是否存在。如果值确实存在,则假定允许单击复选框。问题是出于某种原因,它没有启用复选框。它将在打印警报时进入if语句,但不会更改属性。从attr更改为prop在这种情况下没有任何区别,无论是哪种方式,它都没有做它应该做的事情。这是我的最新代码 var values = this.value(); var total = ["1", "2", "3", "4", "5"]; var group = ""; for (number in values) {

我目前正在创建一个函数,它通过数组检查值是否存在。如果值确实存在,则假定允许单击复选框。问题是出于某种原因,它没有启用复选框。它将在打印警报时进入if语句,但不会更改属性。从attr更改为prop在这种情况下没有任何区别,无论是哪种方式,它都没有做它应该做的事情。这是我的最新代码

var values = this.value();
var total = ["1", "2", "3", "4", "5"];
var group = "";
for (number in values) {
            if ($.inArray(values[number], total) != -1) {
                group = "group" + values[number];
                $("input." + group).prop("disabled", false);
               alert("Group: " + group + " Values: " + values[number] + "   The values DO match");
            }
            else {
                group = "group" + values[number];
                $("input." + group).prop("disabled", true);
                $("input." + group).prop("checked", false);
                alert("Group: " + group + " Values: " + values[number] + "   The values do not match");
            }

        }
现在我下面列出的代码完全可以工作了。唯一的区别是硬编码类值与上面的变量

if ($.inArray("1", values) != -1 || $.inArray("2", values) != -1) 
{
    $("input.group1").prop("disabled", false);
}
else 
{
    $("input.group1").prop("disabled", true);
    $("input.group1").prop("checked", false);
}

我正在使用剑道UI MVC。我已经复制了Multiselect的源信息。下面是代码的JFiddle

很抱歉。。这是前面的变量…为了防止它是一个数组(我不知道
This.value()
做了什么),这是一个非常简单的更改。虽然它被标记为已被回答,但它并不能解决我最初的问题。具有硬编码属性的第二个代码可以工作,但使用变量的代码不能工作。这没有多大意义。哎呀,我没有注意到第二个片段是有效的;对不起。尽管如此,对于禁用的
和选中的
还是应该使用
.prop
而不是
.attr
。不重新处理问题的JSFIDLE并没有真正的帮助