Nie mogę znaleźć odpowiedniego selektora dla:
<input maxlength="6" size="6" id="colorpickerField1" name="sitebg" value="#EEEEEE" type="text">
Chcę zmienić wartość na = 000000. Potrzebuję selektora, aby znaleźć „nazwę”, a nie identyfikator wprowadzania tekstu.
Czy to nie powinno działać ?:
$("text.sitebg").val("000000");
Przedstawione rozwiązanie nie działa, na czym polega problem?
$.getJSON("http://www.mysitehere.org/wp-content/themes/ctr-theme/update_genform.php",function(data) {
$("#form1").append(data.sitebg);
$('input.sitebg').val('000000');
});
Dane JSON działają poprawnie; chodzi o to, aby później przekazać wartości JSON do wartości tekstowych wejściowych formularza. Ale nie działa :(
Sposób zmiany wartości w polu tekstowym w jQuery to:
spowoduje to zmianę atrybutu
value
elementu DOM o identyfikatorze#colorpickerField1
od#EEEEEE
do#000000
źródło
Najlepszą praktyką jest bezpośrednie użycie identyfikatora:
$('#id').val('xxx');
źródło
document.getElementById("#id").value = 'xxx';
nie działa dla mnie? Nie zmienia wyświetlanej wartości tekstowej, tylko właściwość value elementu DOM.Kiedy ustawiasz nową wartość elementu, potrzebujesz zmiany wyzwalacza wywołania.
$('element').val(newValue).trigger('change');
źródło
Dodając do odpowiedzi Jasona,
.
selektor jest tylko dla klas. Jeśli chcesz wybrać coś innego niż element, identyfikator lub klasa, musisz umieścić to w nawiasach kwadratowych.na przykład
$('element[attr=val]')
źródło