1

我正在尝试从下拉菜单中选择一个值。我的代码目前看起来像这样:

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>

如你所见。该值被正确选择但未显示在页面上。任何帮助,将不胜感激。谢谢你

4

4 回答 4

3

The markup (or at least the selection portion of it) and script appear to be working: http://jsfiddle.net/7RGgA/

If you are executing this on page load, have you wrapped your script with $(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');
          }
    });
});
于 2013-03-19T09:33:35.560 回答
1

另一种方法是过滤选项并简单地设置选定的属性;

$('#parentModule_name > option')
    .filter(function() { return $(this).text() == pnam; })
    .prop('selected', true);

jsFiddle 演示

于 2013-03-19T09:47:55.013 回答
0

$(文档).ready(函数 () {

        $("#parentModule_name").change(function () {
              var temp=  $(this).find("option:selected").text();
              alert(temp);
               });
        });
于 2013-03-19T10:08:36.853 回答
-1

Try this

$(function(){
      $('#parentModule_name')
      .find('option[text="'+ pnam +'"]')
      .attr('selected','selected');
});
于 2013-03-19T09:35:53.240 回答