【问题标题】:form elements behaving unusually inside a jquery thickbox表单元素在 jquery 厚框内表现异常
【发布时间】:2009-12-18 14:59:01
【问题描述】:

我正在使用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 无论选择什么选项。

请帮忙。这是一个普遍面临的问题吗?

【问题讨论】:

    标签: php jquery thickbox html-select


    【解决方案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;
    

    【讨论】:

    • +1 多哈!这就是我的回答出错的地方,需要重温我的 jQuery!
    • 有趣的是我刚刚尝试了 $('#priority').val() 并且它确实工作正常。
    • 是的,我也刚刚又检查了一遍,原来我是对的。任何一种方法都有效。
    • 感谢您的回答...但它不起作用。似乎问题出在厚盒上。在thickbox 之外,相同的代码运行良好。
    • 您的thickbox 是否使用iFrame?你能发布按钮的onclick代码吗?
    【解决方案2】:

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

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

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

    而不是

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

    这应该可以解决

    查看http://docs.jquery.com/Attributes/val了解更多信息

    【讨论】:

    • 其实这是我最初写的,但是当它失败时,尝试了基本的js。据我所知 document.getElementById 应该与 jquery 一起使用。请更正
    【解决方案3】:

    我不具体了解thickbox,但表单问题对于许多Lightbox 之类的工具来说很常见。原因是该工具 1. 将表单元素从表单上下文中取出,2. 通常将它们复制到Thickbox/Lightbox/DOM 级别的任何东西中。当框关闭时,元素被销毁或重置,而不是很好地移回表单中,任何更改的设置都仍然存在。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多