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 に答える