Ik kan de juiste selector niet vinden voor:
<input maxlength="6" size="6" id="colorpickerField1" name="sitebg" value="#EEEEEE" type="text">
Ik wil de waarde wijzigen in = 000000. Ik heb de selector nodig om de “naam” te vinden, niet de id van de tekstinvoer.
Zou dit niet moeten werken?:
$("text.sitebg").val("000000");
De gepresenteerde oplossing werkt niet, wat is het probleem hiermee?
$.getJSON("http://www.mysitehere.org/wp-content/themes/ctr-theme/update_genform.php",function(data) {
$("#form1").append(data.sitebg);
$('input.sitebg').val('000000');
});
De JSON-gegevens werken correct; het idee is om de JSON-waarden later door te geven aan de formulierinvoertekstwaarden. Maar werkt niet 🙁
Antwoord 1, autoriteit 100%
nee, je moet iets doen als:
$('input.sitebg').val('000000');
maar je zou echt unieke ID’s moeten gebruiken als je kunt.
Je kunt ook specifieker worden, zoals:
$('input[type=text].sitebg').val('000000');
BEWERKEN:
doe dit om uw invoer te vinden op basis van het naamkenmerk:
$('input[name=sitebg]').val('000000');
Antwoord 2, autoriteit 10%
jQuery-manier om de waarde in het tekstinvoerveld te wijzigen is:
$('#colorpickerField1').attr('value', '#000000')
dit verandert kenmerk value
voor het DOM-element met ID #colorpickerField1
van #EEEEEE
in #000000
Antwoord 3, autoriteit 8%
Best practice is om de identiteit rechtstreeks te gebruiken:
$('#id').val('xxx');
Antwoord 4, autoriteit 3%
Als u de nieuwe waarde van element instelt, moet u de oproeptrigger wijzigen.
$('element').val(newValue).trigger('change');
Antwoord 5
Gewoon toevoegen aan Jason’s antwoord, de .
selector is alleen voor lessen. Als je iets anders wilt selecteren dan het element, de id of de klasse, moet je dit tussen vierkante haken plaatsen.
bijv.
$('element[attr=val]')
Antwoord 6
jQuery wijzigt invoertekstwaarde met bovenliggende klasse
$('.form-submit input.submit').val('Johnny Bravo');
.form-submit
is de bovenliggende klasseJohnny Bravo
is de tekst die je wilt wijzigen