Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JQuery: Selector that contains some text, but doesn't contain others

Sorry if this question is mind numbingly easy to answer, but I'm a bit new to JQuery and I have a tight deadline.

I am looking for a selector for textbox elements that have this format:

id = "FixedName_#"

"FixedName" will always be "FixedName", but I only want to find elements where the # is positive. So I would want to find "FixedName_1", and "FixedName_2" for example, but skip over "FixedName_-1" and "FixedName_-2".

Thanks!

Update Ended up going with something like this (modified my actual code for display here so not sure if this works as shown):

$("input[id*='FixedName_']").each(function() {
    if ($(this).attr("id").charAt(10) == "-") {
        //Do something.
    } else{
        //Do something else.
    }
});
like image 626
Ocelot20 Avatar asked Dec 08 '25 15:12

Ocelot20


2 Answers

I'm not sure you can do that with one selector. What I'd do is select all the elements that have an ID starting with FixedName_ like this:

$("[id|=FixedName_#]")

Then you can loop through the results and examine the value after the #.

EDIT: Try this:

$("[id^=FixedName_#]").each(function(){

var controlNum = parseInt(this.id.replace('FixedName_#',''));
  if (controlNum >= 0){
    //......
  }
});
like image 52
Kevin Tighe Avatar answered Dec 10 '25 22:12

Kevin Tighe


This might be of some help

Regex Selector for jQuery

like image 35
Adriaan Stander Avatar answered Dec 10 '25 22:12

Adriaan Stander