gpt4 book ai didi

javascript - 选择 bootstrap selectpicker 的选项后,无法从 javascript 动态触发 onchange 事件

转载 作者:行者123 更新时间:2023-12-01 02:17:42 24 4
gpt4 key购买 nike

我正在使用 JavaScript 代码来选择 body 负荷选项,如代码片段所示。这对我来说效果很好。我在下一步中面临的问题是,一旦在 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>

最佳答案

在您的代码中,您必须进行一些小的更改才能使其运行。

    $(document).on('change','.selectpicker',function(){
addcname1(this.options[this.selectedIndex])
});

function openmd2(pnamea){


$('select[name=pname]').val(pnamea).change();
}

function addcname1(getval){
var myname = getval.getAttribute('value');
alert(myname)
}

在这里,我刚刚将 $('select[name=pname]').val(pnamea) 更改为 $('select[name=pname]').val(pnamea).change();使其运行

您可以引用此信息以获得准确答案 https://jsfiddle.net/Sakshigargit15/j4ccdeaq/17/

关于javascript - 选择 bootstrap selectpicker 的选项后,无法从 javascript 动态触发 onchange 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49401550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com