Joricam
Joricam

Reputation: 2429

jQuery change input text value

I can't find the right selector for:

<input maxlength="6" size="6" id="colorpickerField1" name="sitebg" value="#EEEEEE" type="text">

I want to change the value to = 000000. I need the selector to find the "name" not the id of the text input.

Shouldn't this work?:

$("text.sitebg").val("000000");

The presented solution does not work, what's the problem with this?

$.getJSON("http://www.mysitehere.org/wp-content/themes/ctr-theme/update_genform.php",function(data) {
    $("#form1").append(data.sitebg);
    $('input.sitebg').val('000000');
});

The JSON data is working correctly; the idea is to later pass the JSON values into the form input text values. But is not working :(

Upvotes: 205

Views: 827237

Answers (6)

user15643823
user15643823

Reputation: 11

jQuery change input text value using parent class

$('.form-submit input.submit').val('Johnny Bravo');
  • .form-submit is the parent class
  • Johnny Bravo is the text that you want to change

Upvotes: 0

Richelly Italo
Richelly Italo

Reputation: 1159

When set the new value of element, you need call trigger change.

$('element').val(newValue).trigger('change');

Upvotes: 20

MGE
MGE

Reputation: 853

Best practice is using the identify directly:

$('#id').val('xxx');

Upvotes: 34

Robert Ingrum
Robert Ingrum

Reputation: 234

Just adding to Jason's answer, the . selector is only for classes. If you want to select something other than the element, id, or class, you need to wrap it in square brackets.

e.g.

$('element[attr=val]')

Upvotes: 3

Vladimir Kroz
Vladimir Kroz

Reputation: 5367

jQuery way to change value on text input field is:

$('#colorpickerField1').attr('value', '#000000')

this will change attribute value for the DOM element with ID #colorpickerField1 from #EEEEEE to #000000

Upvotes: 53

Jason
Jason

Reputation: 52523

no, you need to do something like:

$('input.sitebg').val('000000');

but you should really be using unique IDs if you can.

You can also get more specific, such as:

$('input[type=text].sitebg').val('000000');

EDIT:

do this to find your input based on the name attribute:

$('input[name=sitebg]').val('000000');

Upvotes: 405

Related Questions