javascript onchange Unfind错误|未定义

javascript onchange Unfind错误|未定义,javascript,Javascript,当我更改列表值时,它会显示“getstate未定义” 如何修复它 <select name="country" id="country" onchange="getstate();"> <option value="">select</option> <option value="1">USA</option>

当我更改列表值时,它会显示“getstate未定义” 如何修复它

<select name="country" id="country" onchange="getstate();">
                                <option value="">select</option>
                                <option value="1">USA</option>                               
                            </select>
function getstate() {
                    var site_url = "<?php echo site_url();?>"; 
                    var countryid = $("#country").val();
                    if(countryid=="") {
                     $("#state").html('<option value="">select</option>');
                     $("#city").html('<option value="">select</option>');
                            return false;
                    }
                    $.get(site_url+"admin/ajxcal1",{'id':countryid},function(data){
                    console.log(data);  
                    //$("#state").html(data);
                    });     
            }

选择
美国
函数getstate(){
var site_url=“”;
var countryid=$(“#country”).val();
如果(countryid==“”){
$(“#state”).html('select');
$(“#city”).html('select');
返回false;
}
$.get(site_url+“admin/ajxcal1”,{'id':countryid},函数(数据){
控制台日志(数据);
//$(“#state”).html(数据);
});     
}

所有javascript代码都应包装在脚本标记中。那就行了

<select name="country" id="country" onchange="getstate();">
                                    <option value="">select</option>
                                    <option value="1">USA</option>                               
                                </select>
<script>function getstate() {
                    var site_url = "<?php echo site_url();?>"; 
                    var countryid = $("#country").val();
                    if(countryid=="") {
                     $("#state").html('<option value="">select</option>');
                     $("#city").html('<option value="">select</option>');
                            return false;
                    }
                    $.get(site_url+"admin/ajxcal1",{'id':countryid},function(data){
                    console.log(data);  
                    //$("#state").html(data);
                    });     
            }</script>

选择
美国
函数getstate(){
var site_url=“”;
var countryid=$(“#country”).val();
如果(countryid==“”){
$(“#state”).html('select');
$(“#city”).html('select');
返回false;
}
$.get(site_url+“admin/ajxcal1”,{'id':countryid},函数(数据){
控制台日志(数据);
//$(“#state”).html(数据);
});     
}

将js函数添加到一个单独的.js文件或html中的脚本标记中,然后它就可以正常工作了

尝试以下方法:

HTML:


选择
美国
jQuery:

<script>
     function getstate() {
            var site_url = "<?php echo site_url();?>"; 
            var countryid = $("#country").val();
               if(countryid=="") {
                $("#state").html('<option value="">select</option>');
                $("#city").html('<option value="">select</option>');
                return false;
               }
            $.get(site_url+"admin/ajxcal1",{'id':countryid},function(data){
            console.log(data);  
            //$("#state").html(data);
            });     
         }
</script>   

函数getstate(){
var site_url=“”;
var countryid=$(“#country”).val();
如果(countryid==“”){
$(“#state”).html('select');
$(“#city”).html('select');
返回false;
}
$.get(site_url+“admin/ajxcal1”,{'id':countryid},函数(数据){
控制台日志(数据);
//$(“#state”).html(数据);
});     
}

js函数是否低于html代码并不重要。验证它并改正你的句子。不要误导。我同意第二部分,但是,在脚本运行之前,Javascript解释器会运行代码并定义所有使用语法“function myFunc(){}”定义的函数,因此函数实际上是被定义的。
<script>
     function getstate() {
            var site_url = "<?php echo site_url();?>"; 
            var countryid = $("#country").val();
               if(countryid=="") {
                $("#state").html('<option value="">select</option>');
                $("#city").html('<option value="">select</option>');
                return false;
               }
            $.get(site_url+"admin/ajxcal1",{'id':countryid},function(data){
            console.log(data);  
            //$("#state").html(data);
            });     
         }
</script>