本文介绍了Tampermonkey选择名称为下拉列表的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望Tampermonkey将选择下拉列表更改为特定国家/地区. HTML的格式如下;
I want Tampermonkey to change a select drop down to a specific country. The HTML is formatted like;
<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';
阅读我尝试使用该答案中使用的相同方法;
After reading Tampermonkey to select a dropdown value. It has no ID or name, just a class?I tried using the same method used in that answer;
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);
}
我错过了什么还是尝试了错误的事情?
Am I missing something or trying the wrong thing?
推荐答案
我通过使用与问题中最后发布的方法类似的方法来实现此目的,只是语法错误.
I got this to work by using a similar method to the last posted in the question, was just a syntax error.
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);
}
这篇关于Tampermonkey选择名称为下拉列表的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!