我正在使用javascript代码来选择身体负荷的选项,如代码片段所示。这对我来说很好。
下一步面临的问题是,一旦在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 选择器选项后,无法从javascript动态触发onchange事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49401550/

10-10 00:22
查看更多