【问题标题】:Fetch Bootstrap Dropdown Value OnSubmit在提交时获取引导程序下拉值
【发布时间】:2014-10-01 09:30:30
【问题描述】:

使用Bootstrap制作的下拉菜单

<form id="search" action="" method="post" >
    <div class="dropdown">
      <button data-toggle="dropdown" id="dropdownMenu1" type="button" class="btn btn-default dropdown-toggle">Fixed <span class="caret"></span></button>

      <ul aria-labelledby="dropdownMenu1" role="menu" class="dropdown-menu">
            <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Florida</a></li>
            <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Texas</a></li>
            <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Washington</a></li>
            <li role="presentation"><a href="#" tabindex="-1" role="menuitem">New York</a></li>
            <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Ohio</a></li>
          </ul>
    </div>
</form>

jQuery 保持下拉选项被选中

var jQee = jQuery.noConflict();
jQee(".dropdown-menu li").click(function(){
    var selText = jQee(this).text();
    jQee(this).parents('.dropdown').find('.dropdown-toggle').html(selText+' <span class="caret"></span>');
    //jQee('#search').submit();
});

HTML 下拉菜单

<select onchange="form.submit()" name="template">
    <option value="F" selected="true">Florida</option>
    <option value="T">Texas</option>
    <option value="W">Washington</option>
    <option value="N">New York</option>
    <option value="O">Ohio</option>
</select>

对于上述下拉列表,我正在根据用户选择获取option value

在使用Bootstrap 执行此操作时,我可以保留下拉值selected,但是当我将它与PHP 一起使用时,我还需要$_POST 变量中的值才能执行@ 987654330@根据从下拉列表中选择的值查询和显示结果。

我怎样才能实现它?

【问题讨论】:

    标签: php jquery twitter-bootstrap drop-down-menu


    【解决方案1】:

    使用隐藏字段并在用户选择状态时填充它。

    HTML

    <form id="search" action="" method="post" >
        <input type="hidden" name="selection">
        <div class="dropdown">
          <button data-toggle="dropdown" id="dropdownMenu1" type="button" class="btn btn-default dropdown-toggle">Fixed <span class="caret"></span></button>
    
          <ul aria-labelledby="dropdownMenu1" role="menu" class="dropdown-menu">
                <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Florida</a></li>
              <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Texas</a></li>
                <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Washington</a></li>
                <li role="presentation"><a href="#" tabindex="-1" role="menuitem">New York</a></li>
                <li role="presentation"><a href="#" tabindex="-1" role="menuitem">Ohio</a></li>
              </ul>
        </div>
    </form>
    

    JavaScript

    $(document).ready(function() {
        $("ul li a").click(function() {
            text = $(this).closest("li").text();
            $("input[name='selection']").val(text);
            $(this).parents('.dropdown').find('.dropdown-toggle').html(text+' <span class="caret"></span>');
            $("#search").submit();
        });
    });
    

    See jsfiddle使用inspect元素检查隐藏字段的值。

    【讨论】:

    • 隐藏输入的值已更改,我正在提交表单以获取 POST 值。但是它不会保留在下拉列表中选择的选项值。
    • 我已经把它和你的代码结合起来了。如果你有 post 值,你可以让 PHP 在服务器端设置隐藏输入字段和按钮文本的值(如果适用)。
    • $(this).parents('.dropdown').find('.dropdown-toggle').html(text+' &lt;span class="caret"&gt;&lt;/span&gt;');$('#search').submit(); 不能一起工作。我可以选择值,但无法在 POST 中获取
    • 添加了邮政编码。您将在 JSFiddle 中收到禁止错误,但该值以名称 'selection' 发布。
    • 你的意思是$("#search").submit() 发布价值?
    猜你喜欢
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    相关资源
    最近更新 更多