Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax选择选项不起作用_Javascript_Ajax - Fatal编程技术网

Javascript Ajax选择选项不起作用

Javascript Ajax选择选项不起作用,javascript,ajax,Javascript,Ajax,我试图在一个选择框中加载一个公司列表,然后在从列表中选择该公司时,通过ajax显示该公司的信息(companyInfo)。我可以在下拉框中加载公司,但是每个公司的公司信息都在每个公司中加载,而不是在select上单独加载每个公司。有人能帮忙吗 这是表格 <label for="companyName">Company name:</label> <input type="text" name="companyName" id="companyName

我试图在一个选择框中加载一个公司列表,然后在从列表中选择该公司时,通过ajax显示该公司的信息(companyInfo)。我可以在下拉框中加载公司,但是每个公司的公司信息都在每个公司中加载,而不是在select上单独加载每个公司。有人能帮忙吗

这是表格

<label for="companyName">Company name:</label>
        <input type="text" name="companyName" id="companyName" value="<?php echo $companyName ?>"/>
        <button class="searchBtn">Search</button>

        <hr/>
        <select onchange="getInfo" id="companySelect"></select>
公司名称:

onlookupsuccess(响应)
需要参数响应!在你的
成功中:
@DhavalMarthak-这真是不可思议passed@adeneo这是K0000L;)在
“dunsumber”行中:company.DUNS\u NBR
company对象从何而来?您是否验证了ajax请求使用正确的参数到达了gdp.php?不完全确定您的要求,但

LookUpComponent = function ($container) {

var $searchBtn = $container.find('button.searchBtn');

var $companyListContainer = $container.find('#companySelect');

 $searchBtn.bind('click', searchBtnClick);

function searchBtnClick() {


    var companyName = $container.find('input#companyName').val();

    if (companyName === "") {
        alert("Company name should not be empty");
        return;
    }

    $.ajax({
        url: "php/lookup.php",
        dataType: 'JSON',
        type: 'POST',
        data: JSON.stringify({
            "companyName": companyName
        }),
        success: onLookUpSucess,
        error: onLookUpError,
        contentType: 'application/json; charset=utf-8'
    });
}

function onLookUpSucess(response) {
    var companyList = JSON.parse(response);
    $companyListContainer.empty();
    if (companyList.length > 0) {
        for (var i = 0; i < companyList.length; i++) {
            var $companyContainer = getCompanyView(companyList[i]);
            $companyListContainer.append($companyContainer);
            new GDPComponent($companyContainer, companyList[i]);
        }
    }
}

function onLookUpError(response) {

}

function getCompanyView(company) {
    return $('<option class="companySingle" value="' + company.NME + '">' + company.NME +   '</option>');
}
};


GDPComponent = function ($companyContainer, company) {

var $getInfoSelect = $companyContainer.find('option.companySingle');

 $getInfoSelect.bind('click').change, getInfo();

function getInfo() {

    $companyContainer.find('div.companyInfo').remove();

    $.ajax({
        url: "php/gdp.php",
        dataType: 'JSON',
        type: 'POST',
        data: JSON.stringify({
            "dunsNumber": company.DUNS_NBR
        }),
        success: onGetInfoSucess,
        error: onGetInfoError,
        contentType: 'application/json; charset=utf-8'
    });

}

function onGetInfoSucess(response) {
    var companyResponse = JSON.parse(response);
    $companyContainer.append(getCompanyView(companyResponse));
}

function onGetInfoError() {

}

function getCompanyView(companyResponse) {
    return $('' +
        '<div class="companyInfo">' +
            companyResponse.PRIM_NME + "<br/>" + getCompanyDetailsView(companyResponse) +
        '</div>');
}

function getCompanyDetailsView(companyResponse, parent) {

    var parent = parent ? parent + " - " : "";

    var $details = "";

    for(field in companyResponse) {
        if (companyResponse.hasOwnProperty(field)) {
            if (companyResponse[field] instanceof Object) {
                $details += getCompanyDetailsView(companyResponse[field], field);
            } else {
                $details += '<strong>'+ parent + field +':&nbsp;</strong> <input type="text" name="'+ parent + field +'" id="'+ parent + field +'" size="30" value="'+ companyResponse[field] +'"><br/>';
            }
        }

    }

    return $details;
}