2017-12-07 21 views
0

Tampermonkeyで特定の国への選択ドロップダウンを変更します。 HTMLは次のようにフォーマットされます。Tampermonkey名前付きドロップダウン値を選択

<label>Country</label> 
    <span class="select_wrapper"> 
     <select name="shipping_country_id"> 
     <option value="46">Afghanistan</option> 
     <option value="47">Albania</option> 
     <option value="42">United Kingdom</option> 
     <option value="43" selected="">United States</option> 
     </select> 
     <span class="value">United States</span> 
    </span> 

私は試しましたが、

("select[name='shipping_country_id'] option[value='42']", clickNode, true); 

(document.querySelector && document.querySelector('select[name="shipping_country_id"]') || []).value = '42'; 

Tampermonkey to select a dropdown value. It has no ID or name, just a class? を読んだ後、私はその答えで使用したのと同じ方法を使用してみました。

waitForKeyElements ("shipping_country_id:has(option[value='42'])", selectCountryDropdown); 

function selectCountryDropdown (jNode) { 
var evt = new Event ("click"); 
jNode[0].dispatchEvent (evt); 

jNode.val('42'); 

evt = new Event ("change"); 
jNode[0].dispatchEvent (evt); 
} 

何か不足していますか、間違っていると思いますか?

答えて

0

私はこの質問に投稿された最後の方法と同様の方法を使用してこれを取得しましたが、単なる構文エラーでした。

waitForKeyElements ("select[name=shipping_country_id]:has(option[value=42])", selectCountryDropdown); 


function selectCountryDropdown (jNode) { 
var evt = new Event ("click"); 
jNode[0].dispatchEvent (evt); 

jNode.val('42'); 

evt = new Event ("change"); 
jNode[0].dispatchEvent (evt); 
} 
関連する問題