我有一个像这样的锚:
<a href="#" rel="1 4 7 18 ">Anchor</a>
其中'rel'属性值是某些项目的ID 我有一个带输入的表单,用户应键入id并单击提交按钮 在提交按钮单击我需要检查输入的值如下:
var value = $('a').attr('rel'); // get anchor 'rel' ids
var uservalue = $('input[type='text']').val();
if ( uservalue == '1' || uservalue == '4' || uservalue == '7' || uservalue == '18') {
// however I need the line above are created dynamically based on 'value' var
alert('The id exists');
return false;
} else {
return true;
}
那么,问题是如何根据锚'rel'属性值动态创建一条线?!
这是一行:
if ( value == '1' || value == '4' || value == '7' || value == '18') {
答案 0 :(得分:1)
您可以从原始rel值创建一个值数组,然后使用inArray()方法检查单个值是否存在:
var values = $('a').attr('rel').split(' ');
alert ($.inArray(userSubmittedValue, values));
答案 1 :(得分:1)
var values = $('a').attr('rel').split(' ');
现在你的values数组将包含所有值。循环遍历数组并进行比较。
答案 2 :(得分:0)
我自己解决了这个问题:
var value = $('a').attr('rel'); // get anchor 'rel' ids
var uservalue = $('input[type='text']').val();
if ( value.match(uservalue) ) {
alert('The id exists');
return false;
} else {
return true;
}
只需要设置一个匹配函数。
匹配函数匹配字符串的任何结果,而不是相等的结果。
value.match(uservalue)
上面的行产生以下内容:在值变量中搜索任何用户值并匹配它。
工作示例放在此处:http://jsfiddle.net/nYVX4/
答案 3 :(得分:0)
var uservalue = $('input:text').val();
if ($('a[rel~="' + uservalue + '"]').length > 0) {
alert('The id exists');
return false;
} else {
return true;
}