Php 使用jQuery和Select选项是否可以实现这一点?

Php 使用jQuery和Select选项是否可以实现这一点?,php,javascript,jquery,mysql,forms,Php,Javascript,Jquery,Mysql,Forms,我在数据库中有一个国家及其区号的列表。当选择一个选择选项时,我试图用国家/地区区号自动更新一个文本字段 前 加拿大 ... 我需要将值CA传递给脚本,用户需要查看加拿大。基本上,我要问的是,我是否可以创建一个新选项code,并让jQuery更新我选择的文本字段 这可能吗?或者我还有别的方法可以做到这一点吗 编辑:“代码”应该是国家的区号。因此,当用户选择加拿大(例如)时,文本字段phone将更新为+1。我知道我可以将值设置为+1,然后使用.change()来更新手机的.val(),但我需要将

我在数据库中有一个国家及其区号的列表。当选择一个选择选项时,我试图用国家/地区区号自动更新一个文本字段


加拿大
...
我需要将值CA传递给脚本,用户需要查看加拿大。基本上,我要问的是,我是否可以创建一个新选项
code
,并让jQuery更新我选择的文本字段

这可能吗?或者我还有别的方法可以做到这一点吗


编辑:“代码”应该是国家的区号。因此,当用户选择加拿大(例如)时,文本字段
phone
将更新为+1。我知道我可以将
值设置为+1,然后使用
.change()
来更新
手机的
.val()
,但我需要将当前值传递给处理它的脚本。

确保为每个元素分配一个id

var code = $('#country option:selected').attr('code');
$('#phone').val(code);

如果“代码”不起作用。使用“标题”。

确保为每个元素分配一个id

var code = $('#country option:selected').attr('code');
$('#phone').val(code);

如果“代码”不起作用。使用“title”。

我建议您使用HTML5
数据-
属性,而不是自定义属性:

<select name="country">
    <option value="CA" data-code="+1">Canada</option>
    ...
</select>

<input type="text" name="phone" />
或者使用更少的jQuery:

$('select[name="country"]').change(function() {
    $('input[name="phone"]').val(this.options[this.selectedIndex].getAttribute('data-code'));
});
另一个选择是在JavaScript中有一个
country->code
映射

var map = {
    'CA': '+1',
    ...
};

然后查找代码。

我建议您使用HTML5
数据-
属性,而不是自定义属性:

<select name="country">
    <option value="CA" data-code="+1">Canada</option>
    ...
</select>

<input type="text" name="phone" />
或者使用更少的jQuery:

$('select[name="country"]').change(function() {
    $('input[name="phone"]').val(this.options[this.selectedIndex].getAttribute('data-code'));
});
另一个选择是在JavaScript中有一个
country->code
映射

var map = {
    'CA': '+1',
    ...
};

然后查找代码。

不完全确定您要问什么,但是否提供此帮助

$('select[name=country]').change(function() {

    $('input[name=phone]').val($(this).find('option:selected').attr('code'));

    alert('Do something else with this: ' + $(this).val());
});

我不完全确定你在问什么,但这有什么帮助吗

$('select[name=country]').change(function() {

    $('input[name=phone]').val($(this).find('option:selected').attr('code'));

    alert('Do something else with this: ' + $(this).val());
});
你可以试试这个。它绑定到选择菜单更改事件,然后获取“代码”属性值并设置输入的文本


你可以试试这个。它与“选择菜单更改”事件关联,然后获取“代码”属性值,并将输入的文本设置为它。

我认为您必须更好地解释您的问题。编码的目的是什么?编码应该是国家的区号。因此,当用户选择加拿大时,例如,文本字段电话会更新为+1。我认为您必须更好地解释您的问题。编码的目的是什么?编码应该是国家的区号。因此,当用户选择加拿大时,例如,文本字段电话会更新为+1。在我看来,这是最好的解决方案
.data('phone')
应该是
.data('code')
,尽管这样做很好。谢谢@我也注意到了这一点。在我看来,这是最好的解决办法
.data('phone')
应该是
.data('code')
,尽管这样做很好。谢谢@我也注意到了。