Öğeleri bir liste kutusu denetiminden ASP.NET'te JavaScript kullanarak başka bir liste kutusu denetimine nasıl taşıyabilirim?Çift Liste Kutusunda öğeleri taşıma
cevap
:
document.getElementById('moveTrigger').onclick = function() {
var listTwo = document.getElementById('secondList');
var options = document.getElementById('firstList').getElementsByTagName('option');
while(options.length != 0) {
listTwo.appendChild(options[0]);
}
}
Bunun, onu taşıdığınız listeden kaldırılacağını düşünmüyorum. –
@nemo Deneyin ve gör. İyi çalışıyor. AppendChild() işlevi, seçeneği geçerli üst öğesinden kaldırır ve belirtilen öğeye taşır; Aksi takdirde, DOM'daki düğümü çoğaltırsınız. – Tom
@nemo Sorun değil! Benim düşünceme göre, her zaman bilmek güzeldir * nasıl * bir şey yerine çalışır * sadece * çalışır. – Tom
jQuery'yi kullanmaktan memnunsanız çok basittir.
$('#firstSelect option:selected').appendTo('#secondSelect');
#firstSelect, seçim kutusunun kimliğidir.
Burada bir çalışma örneğini de bulabilirsiniz:
(düzenlemek için: http://jsbin.com/aluzu/edit) Bu kod tıklandığında bir çapa sahip veya bu harekete tetikleyecektir varsayarjavascript kullanıyorum lütfen javascriptte bana bildirebilir misiniz – balaweblog
Burada remove() kullanmamalısınız. Sahip olabileceğiniz etkinlik işleyicilerini siler. $ ("# firstSelect seçeneği: selected") appendTo ("# secondSelect") herhangi bir olayı koruyacak ve aynı etkiye sahip olacaktır. – nickf
@balaweblog: Bu javascript – user9991
bir kütüphane bağımsız çözeltisi:
function Move(inputControl)
{
var left = document.getElementById("Left");
var right = document.getElementById("Right");
var from, to;
var bAll = false;
switch (inputControl.value)
{
case '<<':
bAll = true;
// Fall through
case '<':
from = right; to = left;
break;
case '>>':
bAll = true;
// Fall through
case '>':
from = left; to = right;
break;
default:
alert("Check your HTML!");
}
for (var i = from.length - 1; i >= 0; i--)
{
var o = from.options[i];
if (bAll || o.selected)
{
from.remove(i);
try
{
to.add(o, null); // Standard method, fails in IE (6&7 at least)
}
catch (e)
{
to.add(o); // IE only
}
}
}
}
HTML
<select id="Left" multiple="multiple" size="10">
<option>Some</option>
<option>List</option>
<option>Of</option>
<option>Items</option>
<option>To</option>
<option>Move</option>
<option>Around</option>
</select>
<div id="Toolbar">
<input type="button" value=">" onclick="Move(this)"/>
<input type="button" value=">>" onclick="Move(this)"/>
<input type="button" value="<<" onclick="Move(this)"/>
<input type="button" value="<" onclick="Move(this)"/>
</div>
<select id="Right" multiple="multiple" size="10">
</select>
CSS (örnek)
select { width: 200px; float: left; }
#Toolbar { width: 50px; float: left; text-align: center; padding-top: 30px; }
#Toolbar input { width: 40px; }
Hızlı Test FF3 ve IE6 & 7 sadece.
Bu çözüm benim için ASP.NET'te çalışmadı çünkü kendi ViewState (daha önce seçilen değerler) iletileri arasında işlemek için denetimlere ihtiyacım vardı, ancak seçim listelerinin basit HTML/Javascript manipülasyonu için gerçekten işe yaradı. –
- 1. Liste kutusunda
- 2. Android çift genişletilebilir liste görünümü liste çok büyükse öğeleri gizler
- 3. Birden çok sütunlu Liste Kutusunda öğeler ekleme
- 4. Bir onay kutusunda çift değişken nasıl saklanır?
- 5. Çift Bağlantılı Liste Hatası
- 6. google yerleri liste öğeleri
- 7. Liste kutusunda seçilen öğenin değiştiğinde textarea göster
- 8. Çift bağlanan liste geri göstergesi
- 9. Sayısal liste öğeleri nasıl toplamlanır
- 10. LinkedHashMap'ın impl - Tek Bağlı Liste değil, Çift Bağlantılı Liste kullanır;
- 11. Liste öğeleri güncellendikten sonra liste görünümü öğeleri nasıl yenilenir - onResume içinde kullanılabilir
- 12. C++ Çift bağlantılı liste "kuyruğu sil" işlevi
- 13. "Bozuk çift bağlantılı liste" hatasına neden olabilir?
- 14. 10 Örtüşen liste öğeleri nasıl yığılır
- 15. Özel arrayadapter kullanmadan liste öğeleri göster
- 16. Bitbucket'te iç içe liste öğeleri nasıl işaretlenir?
- 17. Freemarker şablonunda indeksle liste öğeleri nasıl alınır?
- 18. Telerik Kendo UI with SharePoint Liste Öğeleri
- 19. Appcelerator'da doğru şekilde gösterilmeyen ayrıştırılmış liste öğeleri
- 20. Python: Belirli bir liste öğeleri alınıyor
- 21. Taşıma
- 22. Pencere telefonunda liste kutusunda alternatif satır stili nasıl uygulanır 7
- 23. Bir liste görünüm kutusunda seçili olup olmadığını belirleme
- 24. Liste kutusunda öğeler için nasıl veri sayfası yapılır?
- 25. Liste kutusunda karşılık gelen değerleri aşağıya açılan değerde tıklatarak
- 26. C# kullanarak WPF içinde liste kutusunda birden fazla öğe seçin #
- 27. Seçimleri titiz liste kutusunda vurgulanmış olarak nasıl tutulur?
- 28. QlikView: Liste Kutusunda Öğe Yeniden Yapılandırmasını Devre Dışı Bırakma
- 29. nasıl bir liste kutusunda (yükseklik) Eğer gösterilmektedir kaç öğe belirttiğiniz yapmak
- 30. Bir Liste Kutusunda, kaydırma çubuğunun kapladığı alanın dışındaki liste kutusunun genişliğini nasıl alabilirim?
asp.net etiketini kaldırıyorum çünkü gerçekten asp.net ile ilgisi yok. –
@balaweblog: ASP.NET ListBox denetimini, öğeleri içeri/dışarı taşımak istediğiniz tablonuz olarak kullanmaya çalışıyor musunuz? Öyleyse, ASP.NET etiketi geçerli ve ben yeniden ekleyeceğim ve şeylerin ASP.NET tarafında yardımcı olacak bir çözüm göndereceğim. –