【发布时间】:2018-03-21 08:38:51
【问题描述】:
我正在使用 javascript 代码来选择一个关于身体负载的选项,如 sn-p 所示。这对我来说很好。 我在下一步中面临的问题是,一旦在 selectpicker 中选择了值,我就无法动态调用 onchange 事件。
编写我编写的代码以动态选择选项
$('select[name=pname]').val(pnamea);
$('.selectpicker').selectpicker('refresh');
在此之后,我将一个简单的函数 addcname1 映射到 onchange 事件,该事件会发出所选选项的警报。但这对我不起作用。
提供了更清楚地解释问题陈述的片段。
你能指导我解决我哪里出错了吗?
谢谢
function openmd2(pnamea){
$('select[name=pname]').val(pnamea);
$('.selectpicker').selectpicker('refresh');
$(document).on('change','.selectpicker',function(){
addcname1(this.options[this.selectedIndex])
});
}
function addcname1(getval){
var myname = getval.getAttribute('value');
alert(myname)
}
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.3/css/bootstrap-select.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.3/js/bootstrap-select.js"></script>
<body onload="openmd2('1')">
<select class="selectpicker" name="pname">
<option value="0">select</option>
<option value="1">Mustard</option>
<option value="2">Ketchup</option>
<option value="3">Relish</option>
</select>
</body>
【问题讨论】:
-
它已经显示带有选定值的警报框
-
当你选择一个选项时它会显示,但第一个选项没有显示警报,并且在正文加载时选择了此选项。
-
您的预期结果是什么?在 onLoad 上?
-
正如您在正文 onload 上看到的那样,我将 1 作为值传递。在选择器中被选中。但未检测到 on-change 事件,因此我无法访问 addcname1 函数
标签: javascript html