如何使用php从下拉菜单中获取所选项目的值


How to get value of selected item from dropdown menu using php

嗨,我有一个小问题。如果按顺序选择相同的值(或者单击提交按钮两次),则没有任何反应。但是,如果您从下拉列表中更改项目,则效果很好。变量 "var value=$(this).data("value");" 的值不会更改,如果您不从列表中选择其他项目。为什么我想更改值,因为此变量值从数据库中获取行。我尝试过 change() 函数,没有任何成功。

      <div class="col-md-6 center">
    <H2>Macig Box</H2>
    Please Select Nummer Of Match.
    <form id="myform" method="get">
    <div class="dropdown">
        <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true">
            Succes
            <span class="caret"></span>
        </button>
        <input type="hidden" id="selectedNummer" name="selectedNummer" />
        <ul class="dropdown-menu myCustomDropMenu" aria-labelledby="dropdownMenu1" onchange="change()" >
            <li><a href="#" data-value="1">1</a></li>
            <li><a href="#" data-value="2">2</a></li>
            <li><a href="#" data-value="3">3</a></li>
            <li><a href="#" data-value="4">4</a></li>
            <li><a href="#" data-value="5">5</a></li>
            <li><a href="#" data-value="6">6</a></li>
            <li><a href="#" data-value="7">7</a></li>
            <li><a href="#" data-value="8">8</a></li>
        </ul>
    </div>
        <input type="submit" value="Send">
</form>
        <script>
       $('.myCustomDropMenu li a').click(function(e){
     var value=$(this).data("value");
var selText = $(this).text();
$(this).parents('.dropdown').find('.dropdown-toggle').html(selText+'<span class="caret"></span>');
     $('#selectedNummer').val(value);
});
     </script>
     <script>
function change(){
    document.getElementById("myform").submit();
}
</script>

有人可以帮我存档这个目标吗?谢谢。

您已使用 jQuery 将所选值从下拉列表设置为输入字段。

您可以做的是,在下拉菜单<a>上放置一个click触发器,并在下拉列表中<a>click上设置相应的值以selectedNummer输入。

如果页面上有多个下拉菜单,则可以将自定义类添加到下拉菜单以放置特定的click触发器。

所以你的HTML看起来像这样。

<div class="col-md-6 pull-right">
    <H2>Macig Box</H2>
    Please Select Nummer Of Match.
    <div class="dropdown">
        <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true">
            Succes
            <span class="caret"></span>
        </button>
        <input type="hidden" id="selectedNummer" name="selectedNummer" />
        <ul class="dropdown-menu myCustomDropMenu" aria-labelledby="dropdownMenu1">
            <li><a href="#" data-value="1">1</a></li>
            <li><a href="#" data-value="2">2</a></li>
            <li><a href="#" data-value="3">3</a></li>
            <li><a href="#" data-value="4">4</a></li>
            <li><a href="#" data-value="5">5</a></li>
            <li><a href="#" data-value="6">6</a></li>
            <li><a href="#" data-value="7">7</a></li>
            <li><a href="#" data-value="8">8</a></li>
        </ul>
    </div>

并且要将值设置为selectedNummer输入,JS 将是

$('.myCustomDropMenu li a').click(function(e){
     var value=$(this).data("value");
     $('#selectedNummer').val(value);
});

现在,当您使用POSTGET方法提交表单时,您可以使用 $_POST['selectedNummer']$_GET['selectedNummer'] 访问该值,并使用它来为 PHP 变量赋值。

//e.g.
$variableValue=$_POST['selectedNummer'];
// OR
$variableValue=$_GET['selectedNummer'];

用于设置输入值的工作 jsFiddle:https://jsfiddle.net/1dLoqe44/