Javascript更改货币始终<option>从下拉列表中选择第一个<select>



嗨,我一直在修改一个从<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();

最新更新