我使用tagsManager插件http://welldonethings.com/tags/manager/v3添加Razor視圖內某些標記和我傳遞的int []從控制器查看使用ViewBag JavaScript代碼是像檢查值在tagsManager驗證方法內數組存在
$(document).ready(function() {
$(".tm-input").tagsManager({
delimiters: [9, 44], // tab, comma . Can add Enter by adding 13 to this list , but form Post will occur
hiddenTagListName: 'Students', //Use the property of the model as Hidden field to get the values at post
hiddenTagListId: 'Students',
validator: function (value) {
// var items = @Html.Raw(Json.Encode(ViewBag.RollNos));
var items = [ @(string.Join(", ", (int[])ViewBag.RollNos)) ];
console.log(items);
console.log(value);
var res=items.indexOf(value);
console.log(res);
var res=$.inArray(value, items);
console.log("**"+res);
if(items.indexOf(value) >-1)
{
return true;
}
else{
alert("Invalid roll NO");
return false;
}
}
});
});
在控制檯我所看到的是
[1, 3, 6, 7, 5, 2, 4]
1
-1
**-1
即我得到作爲1不存在於陣列元素[同時使用jquery的一個djavascript方法] 任何瞭解這個錯誤?
什麼是'價值value'?另外,所有瀏覽器都不支持'indexOf'。正如你已經標記jQuery,你可以嘗試'。.inArray(items,value)' – 2014-12-02 16:03:40
我試過jquery也 var res = $。inArray(value.trim(),items); console.log(「**」+ res); 但是獲得-1。值的參數的值也越來越像1 – 2014-12-02 16:05:14