我有个小问题。如果您按顺序选择相同的值(或者如果您在提交按钮上单击两次)没有任何反应。但是,如果您从下拉列表中更改项目,则效果很好。变量“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 将下拉列表中的选定值设置为输入字段。
你可以做的是,放一个click
在 <a>
上触发下拉菜单,以及 click
的 <a>
从下拉菜单中将相应的值设置为 selectedNummer
输入。
如果页面上有多个 dropDownMenus,您可以将自定义类添加到下拉菜单以放置特定的 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);
});
现在,当您使用 POST
提交表单时或 GET
方法,您可以使用 $_POST['selectedNummer']
访问该值或 $_GET['selectedNummer']
,并使用它为 PHP 变量赋值。
//e.g.
$variableValue=$_POST['selectedNummer'];
// OR
$variableValue=$_GET['selectedNummer'];
用于设置输入值的工作 jsFiddle:https://jsfiddle.net/1dLoqe44/
关于php - 如何使用php从下拉菜单中获取所选项目的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36835668/