Javascript 如何选择显示的值而不是值选项?
我们有下面的选择组合框,它是用ajax和httphandler web service.ashx动态填充的 当动态填充SELECT combobox时,它如下所示:Javascript 如何选择显示的值而不是值选项?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我们有下面的选择组合框,它是用ajax和httphandler web service.ashx动态填充的 当动态填充SELECT combobox时,它如下所示: <select name="selectid" id="selectid"> <option value="">-Select an option-</option> <option value="1">Test1</option> <option value="2"
<select name="selectid" id="selectid">
<option value="">-Select an option-</option>
<option value="1">Test1</option>
<option value="2">Test2</option>
<option value="3">Test3</o4tion>
<option value="4">Test5</option>
<option value="5">Test6</option>
<option value="6">Test7</option>
</select>
以下是js:
function getText() {
$.ajax({
url: 'rulings.ashx',
dataType: 'json'
})
.done(function(textInfo) {
$(textInfo).each(function(i, texts) {
$('<option>').val(texts.dbtextID).text(texts.textToBeDisplayed).appendTo( $('#selectid') );
})
});
}
当我们显示下拉列表中的值时,它将显示值选项,而不是显示的文本
从上面的组合框示例中,它显示1而不是Test1
如何修改脚本以显示显示的文本而不是值选项?试试这段代码,把它放进去
$(document).ready(function(event){
$("#selectid").on('change',function() {
//alert($("#selectid option:selected").text());
$('#summTextvalue').html($("#selectid option:selected").text());
});
})
jQuery中的方法可以将事件绑定到动态创建的元素
或者你也可以这样做
function _bindEvent()
{
$("#selectid").on('change',function() {
alert($("#selectid option:selected").text());
});
}
并从AJAX done方法调用_bindEvent尝试获取文本,而不是值
$('#selectid').change(function(){
var selectedVal=$(this).val();
alert($(this).children("option[value='"+selectedVal+"']").text());
});
你到底想做什么?获取文本而不是值onChange?@harsha,是的,完全正确。我们有一个摘要页面来显示用户的选择。在该摘要页面上,如果用户选择值选项1,我们希望显示文本1而不是值选项1。希望这更清楚。我认为,要使您的解决方案发挥作用,它需要与我发布的脚本集成,这就是我遇到的问题。第一个解决方案似乎是将显示的文本显示在警报中。这是伟大的,但我宁愿它显示在摘要部分。因此,取而代之的是:名称:,我喜欢您的解决方案中的值。有什么想法吗?@ChidiOkeh:看看修改后的答案!非常感谢你的好意和帮助。@ChidiOkeh:很高兴能提供帮助这不是一种迂回的做事方式吗-