HTML JavaScript下拉菜单onChange未触发
HTML JavaScript dropdown onChange not triggered
我从下面的小提琴开始:
http://jsfiddle.net/U4vaP/4/
这是HTML
<button type="button" id="prev">Previous</button>
<select id="mycars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<button type="button" id="next">Next</button>
这是Javascript
$("#next").click(function() {
var nextElement = $('#mycars > option:selected').next('option');
if (nextElement.length > 0) {
$('#mycars > option:selected').removeAttr('selected').next('option').attr('selected', 'selected');
}
});
$("#prev").click(function() {
var nextElement = $('#mycars > option:selected').prev('option');
if (nextElement.length > 0) {
$('#mycars > option:selected').removeAttr('selected').prev('option').attr('selected', 'selected');
}
});
然后我添加了这个onChange事件监听器来触发javascript中的函数
<select id="mycars" onChange="showModel(this.value)">
当你直接从下拉列表中选择一个make时,该函数会被触发,但是当你使用Next和Previous按钮时,它不会触发"showModel(this.value)"。如何让它识别变化?
我看不出创建一个函数showModel()
有多大的用处,因为你已经使用了jQuery,我认为它会更容易处理你的选择元素的变化。
我已经添加了jQuery的on change
事件处理程序的选择,以提醒值,但我也添加了一个触发器在每个next
和prev
函数执行函数的变化的mycars
。
JS Fiddle Demo
<代码片段演示/strong>
$("#next").click(function() {
var nextElement = $('#mycars > option:selected').next('option');
if (nextElement.length > 0) {
$('#mycars > option:selected').removeAttr('selected').next('option').attr('selected', 'selected');
}
//Trigger onchange event
$("#mycars").trigger("change");
});
$("#prev").click(function() {
var nextElement = $('#mycars > option:selected').prev('option');
if (nextElement.length > 0) {
$('#mycars > option:selected').removeAttr('selected').prev('option').attr('selected', 'selected');
}
//Trigger onchange event
$("#mycars").trigger("change");
});
// On change event for the select.
$("#mycars").on('change', function() {
$('#selection').html(this.value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="selection">Please make a selection...</div>
<button type="button" id="prev">Previous</button>
<select id="mycars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<button type="button" id="next">Next</button>
如果你对上面的源代码有任何疑问,请在下面留下评论,我会尽快回复你。
我希望这对你有帮助。编码快乐!
相关文章:
- Javascript Select OnChange没有'不要第二次工作
- 如何使用javascript和PHP动态触发onChange事件
- Javascript onchange()函数不起作用
- Javascript:如何在onChange事件期间更改日期时间值
- JavaScript onchange事件未在IIS7中激发
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 从javascript调用服务器端的下拉列表onchange函数
- javascript onchange取消绑定错误|未定义
- JavaScript OnChange Listener在HTML标记中的位置
- onchange赋值的Javascript位置
- Javascript:OnChange事件,将数组变量传递给另一个函数
- Javascript变量未定义,onchange不起作用
- 检索在onchange javascript事件中创建的javascript变量
- onchange JavaScript 以动态更改链接
- onchange javascript点击事件取消了另一个
- 如何通过使用OnChange Javascript HTML验证表单
- Onchange javascript在jquerymobile中提交表单中断
- 将参数传递给被调用的事件处理程序,即element.onchange();javascript
- PHP onchange() javascript not working
- 提交onChange Javascript时在PHP中的POST值