开发者

Jquery, getting back list of ID strings of all elements with ID's that "begin with" a string?

开发者 https://www.devze.com 2023-02-17 03:21 出处:网络
I\'m not a Javascript guru as I do more server-side work so am struggling with this. I have found bits and pieces of how to do this. Basically, I have a series of elements that have ids beginning with

I'm not a Javascript guru as I do more server-side work so am struggling with this. I have found bits and pieces of how to do this. Basically, I have a series of elements that have ids beginning with the string "tagRow_" and I need to get back a list of all of the actual element ids as I need not just the element but also the element's id as I need to parse the unique ending for each on the server-side to determine what it corresponds to.

I found the code below to get all elements but am not sure what it is returning as far as a list or what, if anyone can offer advice how to return just a list of string id names I would appreciate it. Thanks

EDIT: I actually need to do this with a radio input field, it was by mistake I put a DIV in my own example. It works fine for a DIV but is not working properly for a radio input like below:

 <input id="tagRow_ddd" type="radio" value="h">
                <input id="tagRow_ddd" type="radio" value="p">
                    <input id="tagRow_ddd" type="radio" value="r">
                    <input id="tagRow_ddd" type="radio" value="c">

$("input[id^='tagRow_']"开发者_如何学JAVA).each(function() {

   var id = this.id,
       idNumber = id.replace(/\D+/, '');
   document.body.innerHTML += idNumber + '<br />';
});

http://jsfiddle.net/fD7fP/3/


Live Demo

var elements = [];

$("div[id^='tagRow_']").each(function(){
   elements.push(this.id); 
});

var stringOfElementIDs = elements.toString();


Try the following:

var ids = $("div[id^='tagRow_']").map(function() {
    return this.id;
}).get();

This returns an array of all the IDs. More information from this post: Use jQuery to extract data from HTML lists and tables.


$("div[id^=tagRow_]").each()....

example:

$("div[id^='tagRow_']").each(function() {    
    alert(this.id);
});


You can get the number on the client side too.

$("div[id^='tagRow_']").each(function() {

   var id = this.id,
       idNumber = id.replace(/\D+/, '');

   // idNumber contains the digits that were in the id

});

jsFiddle.


That will return a list of matching DOM elements (as jQuery objects). So you will have to loop through it and put the ids in a separate array.

var matching_els = $("div[id^='tagRow_']"), ids = [];
for(var i=0; i<matching_els.length; i++){
  ids.push(matching_els[i].attr("id");
}
// send ids back to server
0

精彩评论

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