表单元素在jquery thickbox中表现异常

时间:2009-12-18 14:59:02

标签: php jquery thickbox html-select

我正在使用jquery的thickbox插件(版本3),在其中我想放置一个将使用$ .post提交的表单。但表单元素的表现并不像他们应该的那样。例如,有一个选择框

<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> 

当我点击调用提交功能的按钮时,

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

}

它仅警告第一个值,即。 5无论选择哪个选项。

请帮忙。这是一个常见的问题吗?

3 个答案:

答案 0 :(得分:1)

当你使用jQuery时,你应该使用

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

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

而不是

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

这应该解决它

请参阅http://docs.jquery.com/Attributes/val了解详情

答案 1 :(得分:1)

使用jQuery:

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

如果您想使用纯JavaScript,您应该能够:

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

var value = options[i].value;

答案 2 :(得分:1)

我不知道具体的厚箱,但表格的问题在许多Lightbox工具中很常见。原因是工具1.将表单元素从表单上下文中取出,并且2.通常将它们复制到DOMbox级别的Thickbox / Lightbox /中。当盒子关闭时,元素被销毁或重置,而不是很好地移回到表单中,任何更改的设置都可以存活。

通常可以改变此行为,但只能通过更改* box脚本本身,以便它来回安全地传输DOM元素。