ilk aşağı açılan seçilen değeri kullanarak aşağı ikinci damla doldurmak nasıl?

3 Cevap php

Ben benim jsp yükler nüfuslu iki damla çıkışlar var demek

 <select id="Group" name="group"> -- first drop down
    <option value="0001">1</option>
    <option value="0002">2</option>
 </select>

 <select id="subGroup" name="class"> -- second drop down
    <option value="0001-000">A</option> -- sub group associated with option value 001
    <option value="0001-010">B</option>
    <option value="0001-020">C</option>
    <option value="0001-030">D</option>
    <option value="0001-040">E/option>
    <option value="0002-000">F</option> -- sub group associated with option value 002
    <option value="0002-010">G</option>
    <option value="0002-020">H</option>
    <option value="0002-040">I</option>
  </select>

Şimdi ben down ilk açılan seçilen değere göre ikinci damla filtre gerekir. Ben DB çağrı yöntemlerini kullanan PHP kodu kullanamazsınız. benim komut böyle bir şey var.

   $("#Group").change(function() {
     var groupVal = $(this).find("option:selected").val();
     $('#subGroup option').filter(function( {return!$(this).val().indexOf(groupVal)!=-1);}).remove();
    });

script gayet iyi çalışıyor, daha sonra tek seçilen diğer tüm seçenekleri kaldırır. ama benim sorunum ben ilk aşağı açılan başka bir değer seçin, sonraki sefer, ikinci boş gider açılan olmasıdır. Ben bile gizlemek / göstermek ile çalıştı ama onlar alışkanlık <select> ile çalışmak sanırım: (

Ben ilk aşağı damla bazı başka seçeneği seçildiğinde aşağı ikinci damla yeniden doldurmak için herhangi bir yolu var mı?

3 Cevap

Eğer elemanları çıkarıyorsanız, bunları geri almak değildir. Kendinizi önerdiği gibi hide() ve show() kullanın:

$("#Group").change(function() {
    var groupVal = $(this).find("option:selected").val();
    $('#subGroup option').hide();
    $('#subGroup option[value^='+groupVal+']').show();
});

Diğer bir deyişle, #Group selectbox değiştirilmiş her zaman, #subGroup bütün seçenekleri gizlemek ve kimin value özellik ile başlar, sadece olanları göstermek {[(3) }].

Eğer bir yerde tüm seçenekleri saklamak ve daha sonra bu veri kümesinden yeniden doldurmanız gerekir yapmak için. örneğin

 var availableOptions = {
    'groupOne': {/* options as {value: '', text: ''} */},
    'groupTwo': {/* options as {value: '', text: ''} */}
  };

  $("#Group").change(function() { 
    var groupVal = $(this).find("option:selected").val(); 
    var sub = $('#Subgroup');
    $.each(availableOptions[groupVal], function(i, data){
      sub.append('<option value="'+data+'">'+data.text+'</option>');
  });

Ben denemek istiyorum ile başarı yaşadım keskin Remy ile ilgili bir seçim kutusu eklentisi de var:

http://remysharp.com/2007/09/18/auto-populate-multiple-select-boxes/