检查多维输入数组中的值

时间:2011-06-04 23:05:20

标签: javascript jquery

我将值存储在多维隐藏输入数组中,如下所示:

<input type="hidden" name="tokens[0][Search_Type]" value="a" />
<input type="hidden" name="tokens[0][Search_Term]" value="123" />
<input type="hidden" name="tokens[1][Search_Type]" value="b" />
<input type="hidden" name="tokens[1][Search_Term]" value="456" />

如何快速检查token = X和Search_Term = Y是否为Search_Type?如果有一种方法可以在一个jquery行中进行,而不是在一个非常棒的循环中。

3 个答案:

答案 0 :(得分:2)

您也可以使用选择器:

// found
console.log($('input[name$="[Search_Type]"][value="a"]').next('input[name$="[Search_Term]"][value="123"]').length); 

// not found
console.log($('input[name$="[Search_Type]"][value="b"]').next('input[name$="[Search_Term]"][value="123"]').length); 

// found
console.log($('input[name$="[Search_Type]"][value="b"]').next('input[name$="[Search_Term]"][value="456"]').length); 

示例:http://jsfiddle.net/niklasvh/56jLf/

但是,这是否比循环更有效,我不知道。

答案 1 :(得分:2)

Jquery的:

token_found = $('input[name$=Search_Type]][value=Y]
                 +
                 input[name$=Search_Term]][value=X]'
               ).length > 0;

答案 2 :(得分:0)

如果您将提交的数组作为javascript对象进行检查,则可以使用jsonpath对数据集执行类似xpath的查询。