Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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
AJAX url的Javascript元素id_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

AJAX url的Javascript元素id

AJAX url的Javascript元素id,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我想制作一个包含两个输入字段的表单。在这些字段中键入内容时,必须出现一个下拉列表,其中包含MySQL数据库中的匹配记录。以下是Javascript代码: <script type="text/javascript"> $(function() { $("#sampleprep, #quantity, #sampletype, #organism").autocomplete({ response: function(event, ui)

我想制作一个包含两个输入字段的表单。在这些字段中键入内容时,必须出现一个下拉列表,其中包含MySQL数据库中的匹配记录。以下是Javascript代码:

<script type="text/javascript">
    $(function() {
        $("#sampleprep, #quantity, #sampletype, #organism").autocomplete({
            response: function(event, ui) {
                try {
                    // ui.content is the array that's about to be sent to the response callback.
                    if (ui.content.length === 0) {
                        $("#"+event.target.id+"-empty-message").text("No results found");
                    } else {
                        $("#"+event.target.id+"-empty-message").empty();
                        //$("#"+event.target.id+"-empty-message").text(event.target.id);
                    }
                } catch(err) {
                    error = "Error 1: "+err.message;
                    alert(error);
                }
            },

            source: function(request, response) {
                try {
                    var target_id = "sampletype";            <====

                    $.ajax({
                        url: "list_"+target_id+".php",       <====
                        dataType: "json",
                        data: {
                            term : request.term
                        },
                        success: function(data) {
                            response(data);
                        }
                    });
                } catch(err) {
                    error = "Error 2: "+err.message;
                    alert(error);
                }
            },
            minlength: 1
        });
    });
</script>

$(函数(){
$(“#样本准备,#数量,#样本类型,#生物体”).autocomplete({
响应:功能(事件、用户界面){
试一试{
//content是将要发送到响应回调的数组。
如果(ui.content.length==0){
$(“#”+event.target.id+“-空消息”).text(“未找到结果”);
}否则{
$(“#”+event.target.id+“-empty message”).empty();
//$(“#”+event.target.id+“-empty message”).text(event.target.id);
}
}捕捉(错误){
error=“error 1:”+err.message;
警报(错误);
}
},
来源:功能(请求、响应){
试一试{

var target_id=“sampletype”您可以试试这样的方法吗:

<script type="text/javascript">
    $(function() {
        $(".ajax_getid_").each(function () {
            (function ($this) {
                $this.autocomplete({
                response: function(event, ui) {
                    try {
                        // ui.content is the array that's about to be sent to the response callback.
                    if (ui.content.length === 0) {
                        $("#"+event.target.id+"-empty-message").text("No results found");
                    } else {
                        $("#"+event.target.id+"-empty-message").empty();
                        //$("#"+event.target.id+"-empty-message").text(event.target.id);
                    }
                        } catch(err) {
                            error = "Error 1: "+err.message;
                            alert(error);
                        }
                    },

                    source: function(request, response) {
                        try {
                            var target_id = "sampletype";            <====

                            $.ajax({
                                url: "list_"+$this.attr('id')+".php",       <====
                                dataType: "json",
                                data: {
                                    term : request.term
                                },
                                success: function(data) {
                                    response(data);
                                }
                            });
                        } catch(err) {
                            error = "Error 2: "+err.message;
                            alert(error);
                        }
                    },
                    minlength: 1
                });
            })($(this));
        });
    });
</script>

$(函数(){
$(“.ajax\u getid”)。每个(函数(){
(功能($本){
$this.autocomplete({
响应:功能(事件、用户界面){
试一试{
//content是将要发送到响应回调的数组。
如果(ui.content.length==0){
$(“#”+event.target.id+“-空消息”).text(“未找到结果”);
}否则{
$(“#”+event.target.id+“-empty message”).empty();
//$(“#”+event.target.id+“-empty message”).text(event.target.id);
}
}捕捉(错误){
error=“error 1:”+err.message;
警报(错误);
}
},
来源:功能(请求、响应){
试一试{

var target_id=“sampletype”;如果你为4个不同的字段编写4种不同的自动完成方法会更好。真的没有办法获得id吗?每次唯一不同的是url。如果可能的话,我想保持代码整洁,而不重复发送相同数量的行。这没有任何作用。我甚至没有得到下拉列表ymore@Fingashpitzzz你能给你的id添加一个名为“ajax_getid_”的类并用
$(“#sampleprep,#quantity,#sampletype,#organic”)
替换
$(“.ajax_getid”)
。返回最后一个脚本的结果(list_organic.php)会有效吗对于所有字段,而不是每个字段JEP的对应脚本,我这样做了。我的输入字段编码如下:
,每次只有id和名称不同,只是为了澄清,有机体输入字段是表单中的最后一个字段,所有四个输入字段都返回有机体值