2016-09-24 4 views
2

cheerioのHTML要素のtext()属性を持つ選択ドロップダウンからオプションを選択しようとしています。これまでのところ、私はattrを選択した一致として設定しようとしています。特定のテキストの要素です。文字でcheerio(jquery)オプションを選択

$('#ddl_city option[text="testing"]').attr('selected', 'selected'); 

を私はこれを行うとき、私は、HTML上の任意の変更が届かない:

これは私がしようとしているものです。私はこの操作を行った後にコンソールにhtml文書を印刷し、私が選択しているものにオプションが変更されているのを確認できません。何らかのアイデアがなぜ働いていないのか、別の回避策ですか?

答えて

1

テキストに基づいて特定のoption要素を取得するために:containsフィルタを使用して、それにselect要素の値を設定することができます値:

$('#s1').val($("#s1 option:contains('Val B')").val())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="s1"> 
 
    <option value="a">Val A</option> 
 
    <option value="b">Val B</option> 
 
</select>

2

あなたはこれを試すことができます。this postでGodsbestの答えに

$('#ddl_city option'). 
    filter(function() { return $(this).text() == 'testing'; }). 
    attr('selected', true); 

クレジットをjQueryのフォーラムに。

関連する問題