s.k.paul
s.k.paul

Reputation: 7291

Remove some text from a var in jquery

I have the following text in a var-

<option value="1">A</option><option value="2">2</option><option value="3">3</option>
<option value="4">4</option>

Is there any way to remove any ... block from that by its value? i.e. I would like to remove ... where its value is 3. Please note that, above text is in a variable.

I know that i can remove option value from a select as follows:

$("#selectBox option[value='option1']").remove();

Any suggestion?

Upvotes: 0

Views: 175

Answers (4)

gskema
gskema

Reputation: 3221

Using RegEx:

var num = 3;
var pattern = new RegExp('<option value="'+num+'">.+?<\/option>', 'i');

var options = '<option value="1">A</option><option value="2">2</option><option value="3">3</option><option value="4">4</option>';

options = options.replace(pattern, '');
console.log(options);

Upvotes: 0

davidkonrad
davidkonrad

Reputation: 85558

You could use the .not() function :

var html='<option value="1">A</option><option value="2">2</option><option value="3">3</option><option value="4">4</option>';
html=$(html).not('[value="3"]');
console.log(html);

html is now

<option value=​"1">​A​</option>​
<option value=​"2">​2​</option>​
<option value=​"4">​4​</option>​

Upvotes: 1

Satpal
Satpal

Reputation: 133423

Try this

var el =$('<select></select>').append('<option value="1">A</option><option value="2">2</option><option value="3">3</option><option value="4">4</option>')
el.find("option[value='3']").remove();
$('div').append(el)

DEMO

Upvotes: 1

alphabit
alphabit

Reputation: 454

You could use the jQuery filter function. http://api.jquery.com/filter/ This should give you more control of the data you want to process.

Upvotes: 1

Related Questions