簡體   English   中英

在其他jQuery-ui自動完成功能中使用jQuery-ui自動完成變量

[英]Using jQuery-ui autocomplete variables in further jQuery-ui autocomplete functions

如何在進一步的jQuery-ui自動完成功能中使用從jQuery-ui自動完成功能中選擇的項目?

例如對於此HTML:

<div class="ui-widget">
    <label for="project">Project: </label>
    <input id="project" />
    <label for="phase">Phase: </label>
    <input id="phase" />
    <label for="filename">Project: </label>
    <input id="filename" />
</div>

我使用以下自動完成功能與JSON端點來提供數據。

$(function() {
$( "#project" ).autocomplete({
    source: baseUrl+"json/listtitles",
    minLength: 2,
    select: function( event, ui ) {
    }
});
});

然后,在第二個自動完成功能中,我要從第一個自動完成功能中獲取選定的值,並使用它來構建URL字符串,以供第二個自動完成功能的source屬性使用(此處顯示為valueFromFirstAutocomplete)。

$(function() {
$( "#phase" ).autocomplete({
    source: baseUrl+"json/listphases/"+valueFromFirstAutocomplete,
    minLength: 2,
    select: function( event, ui ) {
    }
});
});

使用回調自定義源選項,將additonal參數添加到URL:

$( "#project" ).autocomplete({
    source: baseUrl+"json/listtitles",
    minLength: 2
});
$( "#phase" ).autocomplete({
    source: function(request, response) {
        $.get(baseUrl + "/json/listphases/" + $("#project").val(), request, response);
    },
    minLength: 2
});

你可以把一個放在另一個里面......

有什么理由不行嗎?

$(function() {
$( "#project" ).autocomplete({
    source: baseUrl+"json/listtitles",
    minLength: 2,
    select: function( event, ui ) {
       $(function() {
       $( "#phase" ).autocomplete({
           source: baseUrl+"json/listphases/"+ui.item.value,
           minLength: 2,
           select: function( event, ui ) {
           }
       });
       });
    }
});
});

要獨立使用這些,可以執行以下操作:

var funclist = {
    populate1 : function() {
      $( "#project" ).autocomplete({
        source: baseUrl+"json/listtitles",
        minLength: 2,
        select: populate2;
      },

   populate2 : function(event,ui) {
      $( "#phase" ).autocomplete({
        source: baseUrl+"json/listphases/"+ui.item.value,
        minLength: 2,
        select: populate3;
     }
   populate3 : ; // etc
}

$(funclist.populate1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM