Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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 UI自动完成不会选择所有字段文本_Jquery_User Interface_Jquery Ui Autocomplete - Fatal编程技术网

Jquery UI自动完成不会选择所有字段文本

Jquery UI自动完成不会选择所有字段文本,jquery,user-interface,jquery-ui-autocomplete,Jquery,User Interface,Jquery Ui Autocomplete,我对jQueryUIAutoComplete有一个问题:它只选择在字段中键入的文本的开头(字符预选),而不是整个文本。例如,选择“战略”而不是“战略” 以下是我的js代码: $(document).ready(function() { function doTag(iId, sLibelle) { $.ajax({ type: "GET", url: "../../bobookmarks/content/json/put_tag_in_s

我对jQueryUIAutoComplete有一个问题:它只选择在字段中键入的文本的开头(字符预选),而不是整个文本。例如,选择“战略”而不是“战略”

以下是我的js代码:

$(document).ready(function() {  
   function doTag(iId, sLibelle) {
       $.ajax({ 
        type: "GET",
        url: "../../bobookmarks/content/json/put_tag_in_session.php", 
        contentType : "application/json; charset=utf-8", 
        dataType: "json", 
        data: {iId: iId,
               sLibelle : sLibelle },
        success: function(data) { 
                        if (data=="erreur") { 
                            sErreur = "Une erreur est survenue";  
                            console.log(sErreur + "bo.js:L18"); 
                            alert(sErreur); 
                            return false; 
                        }                               
        }, 

        error: function(jqXHR, textStatus, errorThrown) { 
           var s = "Une erreur est survenue";   
           alert(s);               
        }
    })  

    var sLi;
    sLi = "<li class=\"tags\">";

    sLi += "<a href=\"#\" title=\"Supprimer ce tag\"><span class=\"label label-primary\">"+$("#tag").val()+"</span></a>";

    sLi += "<a href=\"#\" title=\"Supprimer ce tag\" class=\"form_ajout_tag_suppr\"><span class=\"glyphicon glyphicon-remove\"></span></a>";

    sLi += "</li>";

    $("#tags_liste").append(sLi);       

    $("#tag").val("");      
    return true;
 } // -- doTag()

 if ($("#tag").length > 0) {                
    $("#tag").autocomplete({
        minLength:3,
        source: function(request,response) {
                    $.ajax({ 
                        type        : "GET",
                        url         : "../../bobookmarks/content/json/get_tags.php", 
                        contentType : "application/json; charset=utf-8", 
                        dataType    : "json", 
                        data        : { term: $("#tag").val() },
                        success     : function(data) { 
                                        if (data=="erreur") { 
                                            alert("Une erreur est survenue"); 
                                            return false; 
                                        } 

                                        response($.map(data,   function(item) { 
                                            return { id: item.catv_num,
                                                     value: item.catv_v_libelle
                                                   }                            
                                        }) // -- fin response
                                        )}, // -- fin success

                        error: function(jqXHR, textStatus, errorThrown) { 
                           var s = "Une erreur est survenue";   
                           console.log(s+" (bo.js:L74)");     
                           alert(s); 
                        }
                    }) // -- fin ajax
        }, // -- fin source

    });     

    $("#tag").on("autocompleteselect", function(event, ui) {
        $("#tags_autocomplete_flag").val(1);
        console.log("tags_autocomplete_flag val (dans autocompleteresponse) : "+$("#tags_autocomplete_flag").val());    
        doTag(ui.id, ui.value);     
    });

    $("#tag").blur( function() {        

        console.log("tags_autocomplete_flag val (entrée blur) : "+$("#tags_autocomplete_flag").val());    

          if ($("#tags_autocomplete_flag").val()==1) { 
            console.log("tags_autocomplete_flag val (blur(), conditon ==1) : "+$("#tags_autocomplete_flag").val());    
            // Le tag vient de la base (autocomplétion)     
            // la mise en session a déjà été traitée ci-dessus (L80 à 84)   
            // on remet le flag à 0         
            $("#tags_autocomplete_flag").val(0);            
        } else { // Le tag ne vient pas de la base  
            console.log("tags_autocomplete_flag val (si = 0 condition  else) : "+$("#tags_autocomplete_flag").val());    
            doTag(0,  $("#tag").val());         
        }           
    });             
 }
 });
$(文档).ready(函数(){
函数doTag(iId,sLibelle){
$.ajax({
键入:“获取”,
url:“../bobookmarks/content/json/put_tag_in_session.php”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:{iId:iId,
sLibelle:sLibelle},
成功:函数(数据){
如果(数据==“erreur”){
sErreur=“最坏的结果”;
log(sErreur+“bo.js:L18”);
警报(sErreur);
返回false;
}                               
}, 
错误:函数(jqXHR,textStatus,errorshown){
var s=“不可能是错误的”;
警报;
}
})  
var-sLi;
sLi=“
  • ”; sLi+=“”; sLi+=“”; sLi+=“
  • ”; $(“#tags_liste”).append(sLi); $(“#tag”).val(“”); 返回true; }//--doTag() 如果($(“#标记”).length>0{ $(“#标记”).autocomplete({ 最小长度:3, 来源:功能(请求、响应){ $.ajax({ 键入:“获取”, url:“../bobookmarks/content/json/get_tags.php”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, 数据:{term:$(“#tag”).val()}, 成功:函数(数据){ 如果(数据==“erreur”){ 警报(“紧急情况”); 返回false; } 响应($.map)(数据,函数(项){ 返回{id:item.catv_num, 值:item.catv\u libelle } })/——鳍响应 )},/——财务成功 错误:函数(jqXHR,textStatus,errorshown){ var s=“不可能是错误的”; log(s+“(bo.js:L74)”; 警报; } })/--fin ajax },/——鳍源 }); $(“#标记”)。打开(“自动完成选择”,函数(事件,用户界面){ $(“#标记"自动完成"标志”).val(1); log(“tags_autocomplete_flag val(dans autocompleterensponse):”+$(“#tags_autocomplete_flag”).val(); doTag(ui.id,ui.value); }); $(“#标记”).blur(函数(){ log(“tags_autocomplete_flag val(entrée blur):”+$(“#tags_autocomplete_flag”).val(); if($(“#tags_autocomplete_flag”).val()==1{ log(“tags_autocomplete_flag val(blur(),conditon==1):”+$(“#tags_autocomplete_flag”).val(); //Le tag vient de la base(自动完工) //这是一个典型的故事(1980年至1984年) //关于remet le flagá0 $(“#标记"自动完成"标志”).val(0); }其他{//Le tag ne vient pas de la base log(“tags_autocomplete_flag val(si=0条件其他):”+$(“#tags_autocomplete_flag”).val(); doTag(0,$(“#tag”).val(); } }); } });
    提前感谢您的帮助

    打电话时:

    doTag(ui.id,ui.value)

    这没有得到正确的内容。如果查看,您将看到:

    选择(事件、用户界面)类型:自动完成选择 从菜单中选择项目时触发。默认操作是用选定项的值替换文本字段的值

    取消此事件会阻止更新值,但不会 不阻止菜单关闭

    事件

    Type: Event
    
    ui

    Type: Object
    
    项目

    Type: Object
    An Object with label and value properties for the selected option.
    
    您应该拨打:

    doTag(ui.id、ui.item.value)

    从自动完成列表中获取完整的选定值。此处测试:

    当您呼叫时:

    doTag(ui.id,ui.value)

    这没有得到正确的内容。如果查看,您将看到:

    选择(事件、用户界面)类型:自动完成选择 从菜单中选择项目时触发。默认操作是用选定项的值替换文本字段的值

    取消此事件会阻止更新值,但不会 不阻止菜单关闭

    事件

    Type: Event
    
    ui

    Type: Object
    
    项目

    Type: Object
    An Object with label and value properties for the selected option.
    
    您应该拨打:

    doTag(ui.id、ui.item.value)


    从自动完成列表中获取完整的选定值。这里测试:

    你读了
    minLength
    的API详细信息了吗?是的,我当然读了,但这似乎不是问题所在。那么问题出在哪里?这似乎是预期的行为,即键入3个字符后,自动完成将尝试查找可能选择的列表。您是否阅读了
    minLength
    的API详细信息?是的,我当然阅读,但似乎不是问题。那么问题出在哪里?