我正在尝试从下拉菜单中选择一个值。 我的代码目前看起来像这样:
var pnam= $(this).parent().parent().find("td").eq(1).html().trim();
$("#parentModule_name").find("option").each(function(){
if ($(this).text()==pnam) {
$(this).attr('selected','selected');
}
});
流进入内部循环,正确选择属性。但是没有达到预期的结果。 有趣的是,当我检查元素时,在我的页面上这是我得到的
<select id="parentModule_name" name="parentId">
<option value="0">Please Select</option>
<option value="12">Admin</option>
<option value="13">Util</option>
<option value="15" selected="selected">Vendor</option>
<option value="16">Shubham</option>
</select>
所以你可以看到。正确选择值但未在页面上显示。 任何帮助,将不胜感激。 谢谢
答案 0 :(得分:3)
标记(或至少它的选择部分)和脚本似乎正常工作:http://jsfiddle.net/7RGgA/
如果您在页面加载时执行此操作,请使用$(document).ready();
$(document).ready(function(){
var pnam= $(this).parent().parent().find("td").eq(1).html().trim();
$("#parentModule_name").find("option").each(function(){
if ($(this).text()==pnam) {
$(this).attr('selected','selected');
}
});
});
答案 1 :(得分:1)
另一种方法是过滤选项并简单地设置所选属性;
$('#parentModule_name > option')
.filter(function() { return $(this).text() == pnam; })
.prop('selected', true);
答案 2 :(得分:0)
$(document).ready(function(){
$("#parentModule_name").change(function () {
var temp= $(this).find("option:selected").text();
alert(temp);
});
});
答案 3 :(得分:-1)
试试这个
$(function(){
$('#parentModule_name')
.find('option[text="'+ pnam +'"]')
.attr('selected','selected');
});