我目前正在Shopify为我的客户开发一家商店。他希望我添加一个功能,通过该功能跟踪用户的IP地址,他可以查看自己特定国家/地区的货币。我使用以下代码: 我想将下拉列表中的选定值更改为“AUD” 我在这部分只得到一些语法错误:
jQuery("#select_selector option:selected").removeAttr("selected");
jQuery("#select_selector option:[value='"AUD"']").attr('selected', 'selected')
它说错误的语法或争论遗失。
答案 0 :(得分:2)
您需要连接字符串和变量。您可以使用+
运算符执行此操作。在option
jQuery("#select_selector option[selected]").removeAttr("selected");
jQuery("#select_selector option[value='" + AUD + "']").attr('selected', 'selected')
如果AUD
不是变量,那么您应该完全删除引号。
jQuery("#select_selector option[value=AUD]").attr('selected', 'selected')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select_selector">
<option value="ABC">ABC</option>
<option value="123">123</option>
<option value="AUD">AUD</option>
<option value="EFG">EFG</option>
</select>
答案 1 :(得分:0)
@Get Off My Lawn的代码工作正常。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select_selector">
<option value="ABC">ABC</option>
<option value="123">123</option>
<option value="AUD">AUD</option>
<option value="EFG">EFG</option>
</select>
<input type="button" value="click me" id="clickme">
<script>
jQuery("#clickme").click(function(){
jQuery("#select_selector option[selected]").removeAttr("selected");
jQuery("#select_selector option[value=AUD]").attr('selected', 'selected');
});
</script>
或尝试此JSFiddle
将澳元/美元或任何货币作为变量将是好事。
答案 2 :(得分:0)
option:[value='"AUD"']
应为option[value=AUD]
。不需要冒号。
但实际上你可以使用
jQuery("#select_selector").val('AUD');
如果您使用https://help.shopify.com/themes/customization/currencies/show-multiple-currencies的样本(我推荐) 那就是
jQuery("#currencies").val('AUD');
如果您是为首次访问者自动选择货币,则不应尝试将货币选择存储在本地存储中。这不仅可以节省您的geoip查找,还可以让客户将该值覆盖到他们选择的货币。 Shopify的示例在其代码中使用了一个名为cookieCurrency
的cookie,因此您的GeoIP查找可以先测试它,如果没有设置,则只进行查找。