Listeden öğe seçtiğimde jquery ile dinamik elemanlar ekleyin

Öğelerin bir listesi var ve listeden öğe seçtiğimde, kod feryatındaki "değer" değişiyor.

    <div class="drop-down-cont zi-5 fleft">
          <input class="dd-input" id="packaging_item_packaging_name" name="packaging_item[packaging_name]" title="Packaging Type" type="hidden" value="PX">
          Pallet
          <div class="drop-down pic" style="visibility: visible; ">
            <div class="blue-tarr"></div>
            <div class="drop-down-list-cont w400">
              <div class="drop-down-list first pt-cases w100p" id="cases_results_">


</div>
              <div class="pic-cont h100p">Package Image </div>
            </div>
            <div class="remark">
A platform used to hold or transport unit loads. 

</div>
            Apply
          </div>
        </div>

<table id="pallet_table" style="display:none;">
    <tbody>
      <tr>
        <td>
          stacking factor:
        </td>
        <td>
          <input class="w44" id="packaging_item_stacking_factor" name="packaging_item[stacking_factor]" size="30" type="text" value="1">
        </td>
      </tr>
    </tbody>
  </table>

'PX'e' değer 'seçtiğimde ve bu betiği yürütürken tabloyu göstermek istiyorum.

if ($('.dd-input').attr('value') == 'PX') {
    $('#pallet_table').show();}

ama bu dinamik olarak çalışmıyor. Bu olayı nasıl halledebilirim, sonra 'smth'den' PX'e kadar olan değeri değiştiriyorum.

0
@ MikhailAleksandrovi4: Bu önemli, yeterince spesifik değilsiniz. Etkinliği açılır listeye bağlayabiliyorsanız, bu şekilde daha kolay ve daha temiz olacaktır.
katma yazar Tadeck, kaynak
Listenizi yapıştırdığınız html'de göremiyorum. Hangi olayı tetiklemek istiyorsunuz?
katma yazar Guilherme David da Costa, kaynak
Bu önemli değil. Diğer dosyadan aşağıya açılan liste, ama bazı elemanlar seçtiğimde bu değişim değeri <input class = "dd-input" name = "packaging_item [packaging_name]" title = "Packaging Type" type = "hidden" value = " sola sallamak ">
katma yazar Mikhail Grishko, kaynak

1 cevap

Bu probleminizi çözmelidir (bkz. bu jsfiddle ):

jQuery('.dd-input').bind('change', function(){
    if (jQuery(this).val() == 'PX'){
       //do here whatever you need
        $('#pallet_table').show();
    }
});

Ancak, kullanıcının bu alanın değerini değiştirmesini nasıl istediğinizi görmüyorum (kodunuzda alan gizlidir). Eğer bu farklı bir senaryo üzerinden yapılırsa, belki de mevcut yaklaşım en iyisi değil ve değer değiştiğinde bunu yapmak yerine açıkça bir işlevi çağırmanız gerekir.

0
katma
@ MikhailAleksandrovi4: Bir şey gönderilmeden önce kod yürütmek için birçok olasılık vardır - submit olayını kesiştirebilirsiniz, hatta ön filtre AJAX çağrıları . Gerçekten, " yapılamaz " diyerek, çoğu zaman muhtemel çözümleri küçümsemenin bir sonucudur.
katma yazar Tadeck, kaynak
Bu kod çalışması iyi bir jsfiddle.net/Uur9A/16 , ancak benim içeriğimde bu çözüm yok ' Çalış. Bu olayın gönderilmeden önce çalışması gereken bir formum var
katma yazar Mikhail Grishko, kaynak
evet Öğeler listesinden seçtiğim önceki gönderimi kullanabildim
katma yazar Mikhail Grishko, kaynak