Jquery / AJAX函数无法处理更改事件

时间:2016-08-17 10:24:29

标签: javascript jquery html ajax

我正在尝试代表其他下拉菜单的值填充下拉菜单。这里的问题是我试图在select标签的onChange事件中调用的函数没有被编译。并在console.enter代码中出现错误。 HTML:

<select name="street_id" id="street_id" onchange="get_data(this)" class="input-xlarge">

</select>

Jquery的:

<script type="text/javascript">
    function get_data()
    {    
        $('#client_list').empty()    
        var dropDown = document.getElementById("street_id");
        var street_id = dropDown.options[dropDown.selectedIndex].value;
        $.ajax({
                type: "GET",
                url: "http://localhost:7777//index.php/admin/get_one_street_client/" + street_id,            
                data: { 'street_id': street_id },
                success: function(data){
                    // Parse the returned json data               
                    var opts = $.parseJSON(data);
                    // Use jQuery's each to iterate over the opts value
                    $.each(opts, function(i,d) {
                        console.log(d.client_name);
                        // You will need to alter the below to get the right values from your json object.  Guessing that d.id / d.modelName are columns in your carModels data
                        <?print "var value == '$balance_data[0]->client_id'";
                        //$selected = 'selected';
                        ?>
                        $('#client_list').append('<option value="' + d.client_id + ' ">' + d.client_name + '</option>');                    
                    });

                }

          });
    }
</script>

错误:

insert_balance:180

  

未捕获的ReferenceError:未定义get_data @change @   insert_balance:180

我已经在顶部添加了jquery库地址。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:1)

显然,你不应该把那个php放在AJAX响应的成功回调中。我无法想象这可以做些什么。只需删除这些行。

我不知道php生成了什么,但看起来它在函数get_data()中生成语法错误。

这意味着整个脚本(在脚本标记内)不会被编译。

此外,看起来这行代码并没有做任何事情,即使它没有引起问题

var value == 5;不知道为什么这个代码存在