第二次选择相同选项时,下拉不工作。 这是我的代码:
<html>
<body>
<p>Select a new car from the list.</p>
<select id="mySelect" onchange="myFunction()">
<option value="Audi">Audi
<option value="BMW">BMW
<option value="Mercedes">Mercedes
<option value="Volvo">Volvo
</select>
<script>
function myFunction() {
var x = document.getElementById("mySelect").value;
alert(x);
}
</script>
</body>
</html>
首次选择任何护理,例如:奥迪,然后它提醒奥迪,警告后再选择奥迪然后没有警报来。任何人都可以帮我解决这个错误吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
当您尝试选择已选择的项目更改事件时,该事件将处于onchange状态。
答案 2 :(得分:0)
您忘记关闭选项标记并执行此操作,您需要将onclick事件处理程序附加到下拉列表中的所有选项,请参阅下文:
var x = document.getElementById("mySelect");
//attach onclick event handlers to options
for (var i = 0; i < x.options.length; i++)
{
if (x.options[i].addEventListener)
{
/*all other browsers*/
x.options[i].addEventListener("click", function() {mysFunction(this)}, false);
}
else if (x.options[i].attachEvent) /*ie < 9*/
{
x.options[i].attachEvent("click", function() {mysFunction(this)});
}
}
//execute my alert box on item select
function mysFunction(elem) {
alert(elem.value);
}
&#13;
<select id="mySelect">
<option value="Audi">Audi</option>
<option value="BMW">BMW</option>
<option value="Mercedes">Mercedes</option>
<option value="Volvo">Volvo</option>
</select>
&#13;
答案 3 :(得分:0)
您在寻找this??
吗?添加以下代码
$('option').click(function(){
alert($(this).text());
});
不幸的是,上述方法无法在&#34; Chrome&#34;中尝试使用&#34; Internet Explorer&#34;或者&#34; Mozialla&#34; (因为这个原因,至少使用IE:p)
答案 4 :(得分:0)
使用演示进行更新: http://jsbin.com/hujavalayu/1/edit
我希望这能满足您的要求,请查看链接
Trigger the event when selected the same value in dropdown?
<p>Select a new car from the list.</p>
<select id="ddList" onClick="onSelect()">
<option value="0">Select Me</option>
<option value="List1">List1</option>
<option value="List2">List2</option>
<option value="List3">List3</option>
</select>
<script>
var prevIndex = "";
function onSelect() {
var currIndex = document.getElementById("ddList").selectedIndex;
if (currIndex > 0) {
if (prevIndex != currIndex) {
alert("Selected Value = " + document.getElementById("ddList").value);
prevIndex = currIndex;
} else {
prevIndex = "";
}
}
}
</script>
答案 5 :(得分:0)
您应该使用onclick="this.value=null"
并定义onchange
,
因此,每次选择任何选项时,它都会清除所选的项目,然后您可以再次选择相同的选项;)。
这是示例代码:
$serial_no = 0;
<select id="<?php echo $serial_no++; ?>" onclick="this.value=null" onchange="update_value(this.value,this.id)" class="form-control" required>
<option><?php echo $row['card']; ?></option>
<option>---------</option>
<option>Pending</option>
<option>Deliver</option>
</select>
update_value(item){
alert(item);
}