Bir jquery thickbox içinde alışılmışın dışında davranıyor form elemanları

3 Cevap php

jQuery en thickbox eklentisi (3 vers.) kullanıyorum ve bunun içinde ben $. yazı ile teslim edilecektir bir form yerleştirmek istiyorum. Ama form elemanları gerektiği gibi davranmak değildir. Örneğin için bir seçme kutusu var

<select name="priority" id="priority">
    <?php  for($i = 5; $i > 0; $i--){    ?>											
           <!-- <input type="radio" class="star" name="priority" value="<?php echo $i ?>"> -->
           <option value="<?php echo $i; ?>"><?php echo $i; if($i == 5) echo ' (lowest)'; if($i == 1)echo ' (highest)'; ?></option>				
    <?php } ?>
    </select>

i teslim işlevini çağırır butonuna tıkladıklarında,

function add(){   
   var pr = document.getElementById("priority").value;
   console.log(pr);

}

sadece ilk değer ie uyarır. 5 hayır seçili seçeneği önemli.

Lütfen yardım edin. Bu sık karşılaşılan bir sorundur?

3 Cevap

JQuery ile:

var pr = $("#priority option:selected").val();

Saf javascript kullanmak istiyorsa yapmanız gerekir:

var i = document.getElementById("priority").selectedIndex;
var options = document.getElementById("priority").options;

var value = options[i].value;

JQuery kullanarak konum olarak kullanmak gerekir

var pr = $("#priveyaity option:selected").val();

veya

var pr = $("#priveyaity").val();

yerine

var pr = document.getElementById("priveyaity").value;

Bu bunu çözmek gerekir

see http://docs.jquery.com/Attributes/val fveya mveyae info

Ben özellikle thickbox bilmiyorum, ama formlar ile sorunlar araçları gibi birçok Lightbox için ortaktır. Neden 1 aracı. Formu bağlamında ve 2 arasında form elemanları almasıdır. Thickbox / Lightbox / ne olursa olsun DOM düzeyine genellikle copies onları. Kutusu kapandığında, eleman yok ya da sıfırlamak yerine geri herhangi bir değişiklik ayarları hayatta birlikte forma güzel taşınır.

Bu davranışı değiştirmek ancak güvenle ileri ve geri DOM öğelerini aktarır böylece * kutu senaryoyu kendisi değiştirerek genellikle mümkündür.