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

マークアップ(または少なくともその選択部分)とスクリプトが機能しているようです: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');
          }
    });
});
于 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

$(document).ready(function(){

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

これを試して

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