Javascript 将Jquery代码移动到脚本文件

Javascript 将Jquery代码移动到脚本文件,javascript,jquery,Javascript,Jquery,我有一些jquery代码,用于根据输入的zip自动填充城市和州。然而,将代码复制并粘贴到每个需要zip字段“jQueryFyed”的视图中似乎最糟糕,但我似乎无法让它正常工作,除非每个视图中都有明确的zip字段。当我把它放到一个文件中,并在视图的顶部包含脚本文件时,当我在JS的最顶部设置一个中断时,什么都不会发生 以下是目前的进展情况: $(function(){ $('.ZipCode').keyup(function () { var zip_in = $(this);

我有一些jquery代码,用于根据输入的zip自动填充城市和州。然而,将代码复制并粘贴到每个需要zip字段“jQueryFyed”的视图中似乎最糟糕,但我似乎无法让它正常工作,除非每个视图中都有明确的zip字段。当我把它放到一个文件中,并在视图的顶部包含脚本文件时,当我在JS的最顶部设置一个中断时,什么都不会发生

以下是目前的进展情况:

$(function(){
  $('.ZipCode').keyup(function () {
        var zip_in = $(this);

        var zip_box = $('#zipbox');

        if (zip_in.val().length < 5) {
            //  zip_box.removeClass('error success');
        }
        else if (zip_in.val().length > 5) {

        }

        else if ((zip_in.val().length == 5)) {

            // Make HTTP Request
            $.ajax({
                url: "http://api.zippopotam.us/us/" + zip_in.val(),
                cache: false,
                dataType: "json",
                type: "GET",
                success: function (result, success) {
                    // Make the city and state boxes visible
                    places = result['places'][0];


                    if ($('.City').length)         // use this if you are using id to check
                    {
                        $('.City').val(places['place name']);
                    }
                    if ($('.State').length)         // use this if you are using id to check
                    {
                        $(".State").val(convert_state(places['state'], 'abbrev'));
                    }
                    // if (document.get)
                    //zip_box.addClass('success').removeClass('error');
                },
                error: function (result, success) {
                    //zip_box.removeClass('success').addClass('error');
                }
            });
        }
        function convert_state(statename, to) {
            var name = statename.toUpperCase();

            var states = new Array({ 'name': 'Alabama', 'abbrev': 'AL' }, { 'name': 'Alaska', 'abbrev': 'AK' },
                { 'name': 'Arizona', 'abbrev': 'AZ' }, { 'name': 'Arkansas', 'abbrev': 'AR' }, { 'name': 'California', 'abbrev': 'CA' },
                { 'name': 'Colorado', 'abbrev': 'CO' }, { 'name': 'Connecticut', 'abbrev': 'CT' }, { 'name': 'Delaware', 'abbrev': 'DE' },
                { 'name': 'Florida', 'abbrev': 'FL' }, { 'name': 'Georgia', 'abbrev': 'GA' }, { 'name': 'Hawaii', 'abbrev': 'HI' },
                { 'name': 'Idaho', 'abbrev': 'ID' }, { 'name': 'Illinois', 'abbrev': 'IL' }, { 'name': 'Indiana', 'abbrev': 'IN' },
                { 'name': 'Iowa', 'abbrev': 'IA' }, { 'name': 'Kansas', 'abbrev': 'KS' }, { 'name': 'Kentucky', 'abbrev': 'KY' },
                { 'name': 'Louisiana', 'abbrev': 'LA' }, { 'name': 'Maine', 'abbrev': 'ME' }, { 'name': 'Maryland', 'abbrev': 'MD' },
                { 'name': 'Massachusetts', 'abbrev': 'MA' }, { 'name': 'Michigan', 'abbrev': 'MI' }, { 'name': 'Minnesota', 'abbrev': 'MN' },
                { 'name': 'Mississippi', 'abbrev': 'MS' }, { 'name': 'Missouri', 'abbrev': 'MO' }, { 'name': 'Montana', 'abbrev': 'MT' },
                { 'name': 'Nebraska', 'abbrev': 'NE' }, { 'name': 'Nevada', 'abbrev': 'NV' }, { 'name': 'New Hampshire', 'abbrev': 'NH' },
                { 'name': 'New Jersey', 'abbrev': 'NJ' }, { 'name': 'New Mexico', 'abbrev': 'NM' }, { 'name': 'New York', 'abbrev': 'NY' },
                { 'name': 'North Carolina', 'abbrev': 'NC' }, { 'name': 'North Dakota', 'abbrev': 'ND' }, { 'name': 'Ohio', 'abbrev': 'OH' },
                { 'name': 'Oklahoma', 'abbrev': 'OK' }, { 'name': 'Oregon', 'abbrev': 'OR' }, { 'name': 'Pennsylvania', 'abbrev': 'PA' },
                { 'name': 'Rhode Island', 'abbrev': 'RI' }, { 'name': 'South Carolina', 'abbrev': 'SC' }, { 'name': 'South Dakota', 'abbrev': 'SD' },
                { 'name': 'Tennessee', 'abbrev': 'TN' }, { 'name': 'Texas', 'abbrev': 'TX' }, { 'name': 'Utah', 'abbrev': 'UT' },
                { 'name': 'Vermont', 'abbrev': 'VT' }, { 'name': 'Virginia', 'abbrev': 'VA' }, { 'name': 'Washington', 'abbrev': 'WA' },
                { 'name': 'West Virginia', 'abbrev': 'WV' }, { 'name': 'Wisconsin', 'abbrev': 'WI' }, { 'name': 'Wyoming', 'abbrev': 'WY' }
                );
            var returnthis = false;
            $.each(states, function (index, value) {
                if (to == 'name') {
                    if (value.abbrev == name) {
                        returnthis = value.name;
                        return false;
                    }
                } else if (to == 'abbrev') {
                    if (value.name.toUpperCase() == name) {
                        returnthis = value.abbrev;
                        return false;
                    }
                }
            });
            return returnthis;
        }
    });
});
$(函数(){
$('.ZipCode').keyup(函数(){
var zip_in=$(此);
var-zip_-box=$('zipbox');
如果(zip_in.val().长度<5){
//zip_box.removeClass('error success');
}
else if(zip_in.val().长度>5){
}
else if((zip_in.val().length==5)){
//发出HTTP请求
$.ajax({
url:“http://api.zippopotam.us/us/“+zip_in.val(),
cache:false,
数据类型:“json”,
键入:“获取”,
成功:功能(结果,成功){
//使城市和州框可见
地点=结果['places'][0];
if($('.City').length)//如果要使用id进行检查,请使用此选项
{
$('.City').val(places['place name']);
}
if($('.State').length)//如果要使用id进行检查,请使用此选项
{
$(“.State”).val(convert_State(places['State'],'abbrev'));
}
//if(document.get)
//zip_box.addClass('success').removeClass('error');
},
错误:函数(结果,成功){
//zip_box.removeClass('success').addClass('error');
}
});
}
函数convert_state(statename,to){
var name=statename.toUpperCase();
var states=新数组({'name':'Alabama','abbrev':'AL'},{'name':'Alaska','abbrev':'AK'},
{'name':'Arizona','abbrev':'AZ'},{'name':'Arkansas','abbrev':'AR'},{'name':'California','abbrev':'CA'},
{'name':'Colorado','abbrev':'CO'},{'name':'Connecticut','abbrev':'CT'},{'name':'Delaware','abbrev':'DE'},
{'name':'Florida','abbrev':'FL'},{'name':'Georgia','abbrev':'GA'},{'name':'Hawaii','abbrev':'HI'},
{'name':'edaho','abbrev':'ID'},{'name':'伊利诺伊州','abbrev':'IL'},{'name':'Indiana','abbrev':'IN'},
{'name':'Iowa','abbrev':'IA'},{'name':'Kansas','abbrev':'KS'},{'name':'Kentucky','abbrev':'KY'},
{'name':'Louisiana','abbrev':'LA'},{'name':'Maine','abbrev':'ME'},{'name':'Maryland','abbrev':'MD'},
{'name':'Massachusetts','abbrev':'MA'},{'name':'Michigan','abbrev':'MI'},{'name':'Minnesota','abbrev':'MN'},
{'name':'Mississippi','abbrev':'MS'},{'name':'Missouri','abbrev':'MO'},{'name':'Montana','abbrev':'MT'},
{'name':'Nebraska','abbrev':'NE'},{'name':'Nevada','abbrev':'NV'},{'name':'newhampshire','abbrev':'NH'},
{'name':'newjersey','abbrev':'NJ'},{'name':'newmexico','abbrev':'NM'},{'name':'newyork','abbrev':'NY'},
{'name':'North Carolina','abbrev':'NC'},{'name':'North Dakota','abbrev':'ND'},{'name':'oho','abbrev':'OH'},
{'name':'Oklahoma','abbrev':'OK'},{'name':'Oregon','abbrev':'或'},{'name':'Pennsylvania','abbrev':'PA'},
{'name':'Rhode Island','abbrev':'RI'},{'name':'South Carolina','abbrev':'SC'},{'name':'South Dakota','abbrev':'SD'},
{'name':'Tennessee','abbrev':'TN'},{'name':'Texas','abbrev':'TX'},{'name':'犹他州','abbrev':'UT'},
{'name':'Vermont','abbrev':'VT'},{'name':'Virginia','abbrev':'VA'},{'name':'Washington','abbrev':'WA'},
{'name':'West Virginia','abbrev':'WV'},{'name':'Wisconsin','abbrev':'WI'},{'name':'Wyoming','abbrev':'WY'}
);
var returnthis=false;
$.each(状态、函数(索引、值){
如果(to=='name'){
if(value.abbrev==name){
returnthis=value.name;
返回false;
}
}否则如果(to=='abbrev'){
if(value.name.toUpperCase()==name){
returnthis=value.abbrev;
返回false;
}
}
});
归还这个;
}
});
});
这显示了我在视图顶部加载脚本的位置

 @modeltype xxxxx_Models.R_X_models.RVM
 <script type="text/javascript" src="../../Scripts/jquery.js"></script>
 <script src="~/Scripts/jquery-1.11.1.min.js"></script>
 <script src="~/CustomScripts/ZipCodes.js"></script> 
@modeltype xxxxx_Models.R_X_Models.RVM

对于像我这样的新手来说,让它成为一个可重用的东西已经被证明是很困难的。我的意思是,我如何让它运行起来,只需将它放到一个单独的js文件中,然后当我将它包含在视图中时,它就会使用
ZipCode
State
城市
类自动连接zip处理?上面的代码正在使用???

您的意思是?很难理解你在找什么…:/您是否检查了浏览器控制台是否有任何错误?我的意思是,我可以将上面的代码放入类似ZipCode.js的内容中,然后在视图中包含
。执行此操作后,使用
ZipCode
类的输入将导致州和城市字段自动填充。@mohamedrias浏览器中没有错误您确认文件路径对zipcodes.js文件有效吗?