0

可能重复:
如何使用 jQuery 在 JavaScript 数组中查找对象的索引

如果 .data() 函数中已经存在,我需要找到输入的值。

我正在尝试这种方式。

jQuery

var array = $("form[name=update]").data("values", {"v1": "value1", "v2": "value2", "v3": "value3", "v4": "value4", "v5": "value5"});

if ($.inArray("value1", array) > -1){alert("duplicate value")}

但它什么也没做。

请查看并建议任何可能的方法来做到这一点。

谢谢。

4

2 回答 2

0
$("form[name=update]").data("values", {/* values here*/});

// then later
var valueToLookFor = 'value1',
    formData = $("form[name=update]").data().values;
for (var i in formData) {
     if (formData[i] === valueToLookFor) {
        // you found it!
     }
}
于 2013-01-19T06:00:07.523 回答
0

这里

grep(不做对象)对我也不起作用。

这是一个 $.each 版本

演示

$(function() {
  $("form[name=update]").data("values", {"v1": "value11", "v2": "value2", "v3": "value3", "v4": "value4", "v5": "value5"});
  $(".but").on("click",function(e) {
    var fData = $("form[name=update]").data("values");
    var val = $(this).val();
      console.log(fData);
    $.each(fData, function(n,i) { 
        console.log("!!!",n,i)
      if (i===val) {
        alert("duplicate value");
        return false;
      }    
    })  
    e.preventDefault()  
  });
});    

这是现在我看了一下,和danronmoon的解决方法一样

演示

$(function() {
  $("form[name=update]").data("values", {"v1": "value11", "v2": "value2", "v3": "value3", "v4": "value4", "v5": "value5"});
  $(".but").on("click",function(e) {
    var fData = $("form[name=update]").data("values");
    var val = $(this).val();
      console.log(fData);
    for (var o in fData) { 
        console.log("!!!",o,fData[o])
      if (fData[o]===val) {
        alert("duplicate value");
        break;
      }    
    }  
    e.preventDefault()  
  });
});    
于 2013-01-19T07:01:59.993 回答