简体   繁体   English

在函数内执行 jquery ajax 调用的问题?

[英]problems executing a jquery ajax call within a function?

i have following code for Jquery Cange Event我有以下 Jquery Cange 事件代码

$("input[name=evnt_typ]").change(function(){
    var request = $.ajax({
                            method: "POST",
                            url: "ajaxRequest.php",
                            dataType: "json",
                            data: {fn: 'getCompanyMaster'},
                        });

                        request.done(function (reqResult){

                            $('.dynmic_cotnt').html('');
                            $('.panel-footer').hide();

                            var append_string = '<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">'+
                            '<div class="row form-group">'+
                                '<label class="control-label col-lg-3">Select'+ ' Company</label><span class="col-lg-1 hidden-xs">:</span>'+
                                '<div class="col-lg-8">'+ 
                                    '<select class="chosen" name="company_master" style="width:400px;" onChange="getCompanyEvent(this)">'+
                                        '<option>Select</option>';
                                    $.each(reqResult.result, function(ind, va){
                                        append_string += '<option value='+va.refid+'>'+va.company_name+' ('+va.industry+')</option>';
                                    });
                                    append_string +=  '</select>'+
                                '</div>'+
                            '</div>'+ 
                            '</div>';
                            //alert(append_string);
                            $('#dynmic_slct').html(append_string); 
                            jQuery(".chosen").chosen();
                        });
                        request.fail(function( jqXHR, textStatus){
                            alert( "Request failed: " + textStatus );
                        });
});

in Above Code i have to create Dynamic Select Element and call getCompanyEvent() in Change event..在上面的代码中,我必须创建动态选择元素并在 Change 事件中调用getCompanyEvent() ..

function getCompanyEvent(element){

            var selected_cid = element.value;

                alert(selected_cid);

                var request = $.ajax({
                    method: "POST",
                    url: "ajaxRequest.php",
                    dataType: "json",
                    data: {fn: 'getCompanyEvent', company_id: selected_cid},
                    success: function(reqResult){
                        var append_string = '<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">'+
                                '<div class="row form-group">'+
                                    '<label class="control-label col-lg-3">Select'+ ' Event</label><span class="col-lg-1">:</span>'+
                                    '<div class="col-lg-8">'+ 
                                        '<select class="chosen" style="width:200px;" onChange="getTemp(this)>'+
                                          '<option>Select</option>';
                                        $.each(reqResult.result, function(ind, va){
                                            append_string += '<option value='+va.event_id+'>'+va.event_name+'</option>';
                                        });    
                    append_string += '</select>'+
                                    '</div>'+
                                '</div>'+ 
                            '</div>';
                        $('#dynmic_slct').append(append_string);
                        jQuery(".chosen").chosen();
                    }
                }); 
        } 

above functions and Change event i have wrote Same document (index.php).. acutully the above fn generate dynamic select element with lable select Event but i got label only see result上面的函数和更改事件我已经写了相同的文档(index.php)。实际上,上面的 fn 生成带有标签选择事件的动态选择元素,但我得到的标签只能看到结果在此处输入图片说明

i have also checked my php logic every thing is good that's return result set..我还检查了我的 php 逻辑,一切都很好,即返回结果集..

This is very silly mistake and very hard to debug.这是非常愚蠢的错误并且很难调试。

If you see your code this line如果你看到你的代码这一行

'<select class="chosen" style="width:200px;" onChange="getTemp(this)>'+

needs to this需要这个

'<select class="chosen" style="width:200px;" onChange="getTemp(this)">'+

Added " after getTemp(this)getTemp(this)之后添加了"

 var reqResult = {}; reqResult.result = [{ event_id: '1', event_name: 'er' }, { event_id: '2', event_name: 'erewr ewrewr' }, { event_id: '3', event_name: 'erewr' }, ] var success = function(reqResult) { var append_string = '<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">' + '<div class="row form-group">' + '<label class="control-label col-lg-3">Select' + ' Event</label><span class="col-lg-1">:</span>' + '<div class="col-lg-8">' + '<select class="chosen" style="width:200px;" onChange="getTemp(this)>"' + '<option>Select</option>'; $.each(reqResult.result, function(ind, va) { append_string += '<option value=' + va.event_id + '>' + va.event_name + '</option>'; }); append_string += '</select></div></div></div>' + '</div>' + '</div>' + '</div>'; $('#dynmic_slct').append(append_string); } success(reqResult)
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="dynmic_slct"></div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM