jQuery giriş metni değerini değiştir


155

Şunun için doğru seçiciyi bulamıyorum:

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

Ben = 000000 değerini değiştirmek istiyorum. Metin girdisinin kimliği değil "adı" bulmak için seçici gerekir.

Bu işe yaramaz mı ?:

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

Sunulan çözüm çalışmıyor, bununla ilgili sorun nedir?

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

JSON verileri düzgün çalışıyor; fikir, daha sonra JSON değerlerini form giriş metni değerlerine iletmektir. Ama çalışmıyor :(

Yanıtlar:


308

hayır, şöyle bir şey yapmanız gerekir:

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

ancak mümkünse benzersiz kimlikler kullanmalısınız.

Ayrıca, aşağıdakiler gibi daha ayrıntılı bilgi edinebilirsiniz:

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

DÜZENLE:

ad niteliğine göre girişinizi bulmak için bunu yapın:

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

Bu wnseri kabul edeceğim, jquery hakkında gerçekten seçiciler hakkında bilgi edinebileceğim iyi bir kitap / öğretici (tercihen bir kitap) önerebilir misiniz? özellikle form seçiciler?
Joricam

7
internetteki en iyi şey şu ki: futurecolors.ru/jquery
Jason

@Jason Bağlantı koptu, kitabın başlığı nedir lütfen?
oyalhi

@oyalhi oh hayır! üzgünüm. Bu yorum 5 yaşında, bu yüzden sanırım
Jason

@ Jason Maalesef evet. Ancak kitabın başlığını hatırlıyor musunuz?
oyalhi

31

Metin giriş alanındaki değeri değiştirmenin jQuery yolu:

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

bu niteliği değişecek valuekimliğine sahip DOM elemanı için #colorpickerField1gelen #EEEEEEiçin#000000


26

En iyi uygulama doğrudan tanımlamayı kullanmaktır:

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


basit ve en iyisi :)
MRRaja

2
Bu neden çalışıyor ama document.getElementById("#id").value = 'xxx';benim için çalışmıyor? Görünen metin değerini değiştirmez, yalnızca DOM öğesinin value özelliğini değiştirir.
user3494047

1
Zaten ById yöntemini kullanıyorsunuz, # css gösterimi içindir. Onu kaldır.
Scott Chu

9

Öğenin yeni değerini ayarladığınızda, çağrı tetikleme değişikliğine ihtiyacınız vardır.

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


Bu, değişiklik olayı işleyicisinin iki kez çağrıldığı bir sorunu düzeltti; bir kez yeni değerle ve sonra tekrar [attr = val] ile
Peter Lenjo

3

Sadece Jason'ın cevabına ek olarak, .seçici sadece sınıflar içindir. Öğe, kimlik veya sınıf dışında bir şey seçmek isterseniz, köşeli parantez içine almanız gerekir.

Örneğin

$('element[attr=val]')

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.