Javascript自动完成-未填充

Javascript AutoComplete - Not Populating

本文关键字:填充 Javascript      更新时间:2023-09-26

我在填充自动完成框时遇到了一些挑战。

我正在向源发送多个参数。我当前的尝试。。。

 $("#questionBox").autocomplete({
    source: function(request, response) {
        $.ajax({
            url: "csvAPI.php",
            dataType: "json",
            data: {
                term: request.term,
                discipline: $("#disciplineNameSelect option:selected").text(), 
                questionType: $("#questionTypeSelect option:selected").text(),
                surveyTitle: $("#surveyTitleSelect option:selected").text()
            },
            success: function(data) {
                response(data);
            }
        });
    },

你可以看到源url与发送的参数一起工作。。。

http://tinyurl.com/ptl7e9g

关于如何让它发挥作用,有什么建议吗?我尝试过许多不同的变体。当我手动定义源选项时,我可以让它发挥作用。但我需要它是动态的,发送了4个参数。

谢谢!

感谢您对另一个答案的建议。我能让它发挥作用!映射标签和值有效。这对于任何试图让jquery自动完成工作的人来说都很重要。如果您的源数据非常简单,并且不包括标签和值,则需要将其映射到javascript中。这现在起作用了。。。

$('#questionBox').autocomplete({
    source: function (request, response) {
        var qbString = "csvAPI.php?term=" + request.term + "&call=questionBoxAutoComplete" + "&discipline=" + $("#disciplineNameSelect option:selected").text() + "&questionType=" + $("#questionTypeSelect option:selected").text() + "&surveyTitle=" + $("#surveyTitleSelect option:selected").text();
        $.getJSON(qbString, function (data) {
            response($.map(data, function (value, key) {
                return {
                    label: value,
                    value: key
                };
            }));
        });
    },
    minLength: 2,
    delay: 100
});

这是我的动态源数据。。。

 {"0":"What is your revenue breakdown?","3":"What is your net operating income?","4":"What is your revenue renewal rate?","5":"What is your fee per hour?"}