我正在使用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无论选择哪个选项。
请帮忙。这是一个常见的问题吗?
答案 0 :(得分:1)
当你使用jQuery时,你应该使用
var pr = $("#priority option:selected").val();
或
var pr = $("#priority").val();
而不是
var pr = document.getElementById("priority").value;
这应该解决它
答案 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元素。