开发者

JavaScript check field value based on variable value

I have an anchor like this:

<a href="#" rel="1 4 7 18 ">Anchor</a>

Where 'rel' attribute values are ids of some items.

Than I have a form with an input, where user should type an id a开发者_Python百科nd click submit button.

On submit button click I need to check the value of input like this:

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;
}

So, the question is how to create a line below dynamically based on anchor 'rel' attribute values?!

This is the line:

if ( value == '1' || value == '4' || value == '7' || value == '18') {


you can create an array of values from the original rel value, and then check for a single value existence with inArray() method:

var values = $('a').attr('rel').split(' ');
alert ($.inArray(userSubmittedValue, values));


var values = $('a').attr('rel').split(' ');

and now your values array will contain all the values. Loop through the array and do comparison.


I resolved the thing by myself:

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;
}

It was just necessary to put a match function.
Match function matches any result of a string, not the equal one.

value.match(uservalue)

The line above makes the following: searches any uservalue in value variable and match it.

Working example is placed here: http://jsfiddle.net/nYVX4/


var uservalue = $('input:text').val();

if ($('a[rel~="' + uservalue + '"]').length > 0) {
    alert('The id exists');
    return false;
} else {
    return true;
}

More: http://api.jquery.com/attribute-contains-word-selector/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜