在这里,我使用jquery
在选择下拉列表中获取选项文本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>
答案 0 :(得分:1)
尝试删除空格,对于此操作,您可以使用trim函数
var tmp_selected = $('#new_autoccType option:selected').text().trim();
同样适用于第二个条件更改文本
从if (tmp_selected == "New Credit/Debit Card")
到if (tmp_selected == "New Debit/Credit Card")
答案 1 :(得分:1)
你的字符串中有空格使用$ .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
}
答案 2 :(得分:1)
使用trim()
从所选文本中删除空格,如下所示:
var tmp_selected = $('#new_autoccType option:selected').text().trim();
答案 3 :(得分:1)
试试这个
$('#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();
答案 4 :(得分:1)
使用$ .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();