使用jQuery从PHP数组的select值获取键

时间:2014-12-08 12:04:18

标签: php jquery wordpress woocommerce

我甚至不确定这是否可行,因为我无法找到任何可以帮助我弄清楚的东西,所以我想我会问。

我有一个带有用户注册插件的wordpress网站,该插件具有带数组的选择下拉状态字段:

$array = array(
 'AL' => 'Alabama',
 'AK' => 'Alaska',
 'AZ' => 'Arizona',
 'AR' => 'Arkansas');

我正在尝试将此字段与woocommerce的billing_state字段同步,我可以使用缩写而不是全名(Al,而不是Alabama)。

我想我会使用下拉字段来获取所选状态并使用value属性将其传递给billing_state字段,但这会传递全名,是否有办法检索密钥并传递它到输入字段的值?

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

您可以使用jQuery .val() API获取下拉键。

e.g。如果您的下拉ID为states

var state = $("#state").val();

答案 1 :(得分:0)

如果你的选择框是这样的

<select class='states' name='states'>
    <option value='AL'>Alabama</option>
    <option value='AK'>Alaska</option>
    <option value='AZ'>Arizona</option>
    <option value='AR'>Arkansas</option>
</select>

有很多方法可以获得所选的值,我只列出了几个

1. $("select.states").val();
2. $("select.states option:selected").val();

我假设你可能需要更新的更新价值,就像这样

$("select.states").on('change',function(){
    var state_abbreviations = $(this).val();
});

以上检测用户更改并每次传递数据,以便您更新必填字段。

希望这有用。

编辑:如果选项中的值互换,那么您需要使用类似

的内容
$("select.states").on('change',function(){
        var state_abbreviations = $(this).text();
});