嗨,我一直在修改一个从<span id=>
获取数据的脚本,改为使用下拉列表中的<option value=>
,除了总是选择列表中的第一个<option value=>
之外,它似乎还能工作。如果我安排html列表的顺序,第一种货币将是它转换为onChange的货币。
这是脚本和html
function ChangeCurrency() { $('select').click(function () {
var cc = $(this).children('option').attr('value').substring(1);
document.cookie = 'CurrencyId=' + cc + ';path=/';
var s = location.pathname;
if (s.length > 3 && s.substring(3, 4) == '/')
s = s.substring(3);
location.pathname = s;
})};
<select onchange="ChangeCurrency()">
<option value="c1">USD</option>
<option value="c2">EUR</option>
<option value="c3">AUD</option>
etc...
</select>
我不知道我做错了什么?我如何让它真正处理用户从列表中选择的选项(并希望保持该选项的显示,这样当商店中的货币更改为AUD时,列表就不会显示美元(
编辑:
我需要了解这些代码是如何收集数据来"构建"cookie的,我不太了解它从选项列表中组合了什么字符串来命名cookie,但商店货币的工作很重要。这是有效的代码,但列表是一个选项值为span id的div。我花了一段时间才使用选项值而不是跨度id使其正常工作,只是停留在列表中的第一个选项上。
您的代码只获取第一个选项,而不是所选的选项。
更改:
var cc = $(this).children('option').attr('value').substring(1);
至:
var cc = $(this).val();