Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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
jquery自动完成过滤器基于第一个值的第二个过滤器_Jquery_Autocomplete - Fatal编程技术网

jquery自动完成过滤器基于第一个值的第二个过滤器

jquery自动完成过滤器基于第一个值的第二个过滤器,jquery,autocomplete,Jquery,Autocomplete,我有两个自动完成jquery功能。我只想在第二个文本字段中显示基于第一个文本字段上的一个选项的值。我不想更改原始的aVal数组,因为如果有人更改第一个txt值,第二个必须在其上进行调整 以下是代码和: 这是正确的解决方案(源函数上只有一个小错误-多亏了) $(函数(){ var份额=-1; var aVal=[{ 标签:“奇数”, 值:“1” }, { 标签:“偶数”, 值:“2” } ]; var bVal=[{ 标签:“一个”, 值:“1” }, { 标签:“两个”, 值:“2” }

我有两个自动完成jquery功能。我只想在第二个文本字段中显示基于第一个文本字段上的一个选项的值。我不想更改原始的aVal数组,因为如果有人更改第一个txt值,第二个必须在其上进行调整

以下是代码和:


这是正确的解决方案(源函数上只有一个小错误-多亏了)

$(函数(){
var份额=-1;
var aVal=[{
标签:“奇数”,
值:“1”
}, 
{ 
标签:“偶数”,
值:“2”
}
];
var bVal=[{
标签:“一个”,
值:“1”
}, 
{ 
标签:“两个”,
值:“2”
},
{ 
标签:"三",,
值:“1”
}, 
{ 
标签:“四个”,
值:“2”
}
];
$(“#输入_txt”).autocomplete({
最小长度:0,
资料来源:aVal,
焦点:功能(事件、用户界面){
$(“#输入_txt”).val(ui.item.label);
返回false;
},
选择:功能(事件、用户界面){
$(“#输入_txt”).val(ui.item.label);
$(“#输入值”).val(ui.item.value);
共享=ui.item.value;
//警报(共享);
返回false;
}
})
$(“#第二次输入_txt”).autocomplete({
最小长度:0,
来源:功能(请求、响应){
var bValnew=新数组();
if(share==-1)返回bValnew;

对于(var a=0;类似于此?好的,现在它工作了,源函数有一个小错误。谢谢
$(function() {
    var shared;

    var aVal = [{label: "odd", value: "1"}, 
                { label: "even", value: "2"}
               ];
    var bVal = [{ label: "one", value: "1"}, 
                { label: "two", value: "2"},
                { label: "three", value: "1"}, 
                { label: "four", value: "2"}
               ];

            $( "#input_txt" ).autocomplete({
                minLength: 0,
                source: aVal,
                focus: function( event, ui ) {
                    $( "#input_txt" ).val( ui.item.label );
                    return false;
                },
                select: function( event, ui ) {
                    $( "#input_txt" ).val( ui.item.label );
                    $( "#input_val" ).val( ui.item.value );
                    shared =  ui.item.value;
                    return false;
                }
            })

            $( "#second_input_txt" ).autocomplete({
                minLength: 0,
                source: bVal,
                focus: function( event, ui ) {
                    if(ui.item.value == shared){
                        $( "#second_input_txt" ).val( ui.item.label );
                    }                        
                    return false;
                },
                select: function( event, ui ) {
                    $( "#second_input_txt" ).val( ui.item.label );
                    $( "#second_input_val" ).val( ui.item.value );
                    return false;
                }
            })
        });
$(function() {
    var share=-1;

    var aVal = [{ 
                    label: "odd",
                    value: "1"
                }, 
            { 
                label: "even",
                value: "2"
            }
        ];
var bVal = [{ 
                label: "one",
                value: "1"
            }, 
            { 
                label: "two",
                value: "2"
            },
            { 
                label: "three",
                value: "1"
            }, 
            { 
                label: "four",
                value: "2"
            }
        ];

        $( "#input_txt" ).autocomplete({
            minLength: 0,
            source: aVal,
            focus: function( event, ui ) {
                $( "#input_txt" ).val( ui.item.label );
                return false;
            },
            select: function( event, ui ) {
                $( "#input_txt" ).val( ui.item.label );
                $( "#input_val" ).val( ui.item.value );
                share =  ui.item.value;
                //alert(share);
                return false;
            }
        })

        $( "#second_input_txt" ).autocomplete({
            minLength: 0,
            source: function(request, response){
                var bValnew=new Array();
                if(share==-1) return bValnew;

                for(var a=0;a<bVal.length;a++){
                    if(bVal[a].value==share){
                       bValnew.push(bVal[a]);
                    }
                }              
                response(bValnew);
            },
            focus: function( event, ui ) {

                $( "#second_input_txt" ).val( ui.item.label );
                return false;
            },
            select: function( event, ui ) {
                $( "#second_input_txt" ).val( ui.item.label );
                $( "#second_input_val" ).val( ui.item.value );
                return false;
            }
        })
    });