选择并输入复制到一个输入中进行过帐

select and input copied into one input for posting

本文关键字:输入 一个 复制 选择      更新时间:2023-09-26

首先,很抱歉再次发布,我投票删除了我的旧帖子,因为我现在正在寻求代码方面的帮助,而不仅仅是哪种方式更好。我的任何代码都更改了好几次

在我的页面上有一个下拉菜单,可以选择一个国家,从数据库动态加载。一旦用户选择了一个国家,就会发生两件事。1) 如果他们选择加拿大或美国,则会出现第二个下拉列表,用户可以选择一个地区。2) 如果用户选择任何其他国家,它会创建一个输入框,以便用户可以键入地区。这一切都很好。

现在有第三个输入,它采用省/州的值,以便可以发布。我们只有两个人会使用这个表单,所以我不担心浏览器中的JavaScript被关闭。

我的问题是,当用户第一次选择加拿大/美国和地区时,除非他们更改国家选择,否则第三个输入中不会填充任何内容。但是,如果他们选择加拿大/美国以外的国家,并且必须键入地区,则会按预期工作。

以下是该问题的一个示例:http://jsfiddle.net/owalsh/BQXZA/3/

如果有人能告诉我为什么我会很感激,谢谢

在此工作:http://jsfiddle.net/5A4v4/11/

HTML:

<form id="customer_bill_add_post" name="customer_bill_add_post">
<select id="country" name="country">
    <option value="0">Select a country</option>
    <option value="CA">Canada</option>
    <option value="US">United States</option>
    <option value="OT">Other</option>
</select>
<select id="province_select" name="province_select">
    <option value="0">Select a Province</option>
    <option value="AB">Alberta</option>
    <option value="AL">Alabama</option>
</select>
<input type="text" id="province_input" name="province_input">
<input type="text" id="province" name="province" />
    </form>

Jquery:代码(有一些额外的更改事件绑定正在进行),您可以对其进行美化。

        $(function(){
            //initially hide the textbox
            $("#province_input").hide();
            $("#province_select").hide();
            $('#country').change(function() {
                if($(this).find('option:selected').val() == "CA"){
                 $("#province_select").show();
                 $("#province_input").hide();
                 } else if($(this).find('option:selected').val() == "US"){
                 $("#province_select").show();
                 $("#province_input").hide();
                 } else {
                 $("#province_input").show();
                 $("#province_select").hide();
                }
             });

$('#country, #province_select, #province_input').bind("change", function() {
    if($('#country').find('option:selected').val() == "CA"){  
    document.customer_bill_add_post.province.value = document.customer_bill_add_post.province_select.value;
    } else if($('#country').find('option:selected').val() == "US"){
        document.customer_bill_add_post.province.value = document.customer_bill_add_post.province_select.value;
    } else {
        //alert('foo');
        document.customer_bill_add_post.province.value = document.customer_bill_add_post.province_input.value;
        }
});        

});

干杯,

相关文章: