繁体   English   中英

在jQuery中使用动态选择下拉菜单时无法获取选项文本

[英]Cannot get option text when using dynamic select dropdown in jquery

在这里,我正在使用jquery在select下拉列表中获取选项文本

tmp_selected  = $('#new_autoccType option:selected').text();

但是,我无法使字符串相等,无法在警报中获得正确的选项文本。 如果字符串相等,则不会进入if循环。 仅当我使用动态选项值时,这才起作用;如果它是静态的,则可以获取值。

有人可以帮忙吗?

 var def_expval=""; var newEC = 1; var strNewCC = 1; data = '<select class="tablefont" name="new_autoccType" id="new_autoccType">'; data+='<option value= '+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+newEC+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+' > '+"New Electronic Check"+' </option>'; data+='<option value= '+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+strNewCC+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+','+def_expval+' > '+"New Debit/Credit Card"+' </option>'; data +='</select>'; $("#somedivs").html(data); $('#new_autoccType').change(function() { selOption = $(this).val(); tmp_selected = $('#new_autoccType option:selected').text(); alert(tmp_selected); if(tmp_selected == "New Electronic Check") { alert("inside ec"); //some operations } if (tmp_selected == "New Credit/Debit Card") { alert("inside cc"); //some operations } }).change(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div id="somedivs"></div> 

静态JS FIDDLE

动态JS字段-这里的问题

尝试删除空格,此操作可以使用修剪功能

var tmp_selected = $('#new_autoccType option:selected').text().trim();

同样对于第二个条件更改文本

if (tmp_selected == "New Credit/Debit Card")if (tmp_selected == "New Debit/Credit Card")

演示: http//jsfiddle.net/hs74sby1/13/

您的字符串中有空格使用$ .trim(tmp_selected)函数删除空格

if(tmp_selected == " New Electronic Check ")
           {
                alert("inside ec");
                //some operations   
           }
     if (tmp_selected == " New Debit/Credit Card ")
           {
             alert("inside cc");
            //some operations
           } 

工作连结

使用trim()从所选文本中删除空格,如下所示:

 var tmp_selected = $('#new_autoccType option:selected').text().trim();

js小提琴

尝试这个

$('#new_autoccType').change(function() {  
               selOption =  $(this).val();
               tmp_selected  = $('#new_autoccType option:selected').text();
               alert(tmp_selected); 
               if(tmp_selected.trim() == "New Electronic Check")
               {
                    alert("inside ec");
                    //some operations   
               }
               if (tmp_selected.trim() == "New Debit/Credit Card")
               {
                 alert("inside cc");
                //some operations
               } 
}).change();

使用$ .trim(tmp_selected)进行共映射,删除空间

$('#new_autoccType').change(function() {  
           selOption =  $(this).val();
            tmp_selected  = $('#new_autoccType option:selected').text();
           alert(tmp_selected); 
           if($.trim(tmp_selected) == "New Electronic Check")
           {
                alert("inside ec");
                //some operations   
           }
      if ($.trim(tmp_selected) == "New Credit/Debit Card")
           {
             alert("inside cc");
            //some operations
           } 
    }).change();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM