Ich kann nicht den richtigen Selektor finden für:
<input maxlength="6" size="6" id="colorpickerField1" name="sitebg" value="#EEEEEE" type="text">
Ich möchte den Wert in = 000000 ändern. Ich brauche den Selektor, um den "Namen" zu finden, nicht die ID der Texteingabe.
Sollte das nicht funktionieren?:
$("text.sitebg").val("000000");
Die vorgestellte Lösung funktioniert nicht. Was ist das Problem damit?
$.getJSON("http://www.mysitehere.org/wp-content/themes/ctr-theme/update_genform.php",function(data) {
$("#form1").append(data.sitebg);
$('input.sitebg').val('000000');
});
Die JSON-Daten funktionieren ordnungsgemäß. Die Idee ist, die JSON-Werte später an die Texteingabewerte des Formulars zu übergeben. Funktioniert aber nicht :(
jQuery-Methode zum Ändern des Werts im Texteingabefeld ist:
Dadurch wird das Attribut
value
für das DOM-Element mit der ID#colorpickerField1
von#EEEEEE
bis geändert#000000
quelle
Best Practice ist die direkte Verwendung der Identifikation:
$('#id').val('xxx');
quelle
document.getElementById("#id").value = 'xxx';
bei mir nicht? Der angezeigte Textwert wird nicht geändert, sondern nur die value-Eigenschaft des DOM-Elements.Wenn Sie den neuen Wert des Elements festlegen, müssen Sie den Aufrufauslöser ändern.
$('element').val(newValue).trigger('change');
quelle
Nur zu Jasons Antwort hinzugefügt, ist der
.
Selektor nur für Klassen. Wenn Sie etwas anderes als das Element, die ID oder die Klasse auswählen möchten, müssen Sie es in eckige Klammern setzen.z.B
$('element[attr=val]')
quelle