2017-05-09 8 views
0

jquery UIを使用してオートコンプリートを実装しようとしていますが、オートコンプリートのテキストボックスは "with"ノックアウトバインディング内にあり、jQueryオートコンプリートは、要素がノックアウトの内側にあるときにアクションを実行しない "バインド"を伴う

<div data-bind="with: activeButton"> 
//Some other div's... 
    <div> 
    <input type="text" id="autoCompleteText" data-autocomplete-url="@Url.Action("Autocomplete")"/> 
    </div> 
</div> 

//On DOM ready 
$('*[data-autocomplete-url]').each(function() { 
     $(this).autocomplete({ 
      source: $(this).data("autocomplete-url") 
     }); 
    }); 

自動補完要素が内部にあるときにノックアウトバインディング「と」私はMVCのアクションを発射する別の何かをする必要がありますか?

+0

を結合

<div data-bind="with: activeButton"> //Some other div's... <input type="text" id="autoCompleteText" data-bind='textInput: someSelectedValue, autoComplete:{source: "@Url.Action("Autocomplete")" }' /> </div> 

ノックアウト何かのようにあなたは、 "データ・autocomplete- URL" のスペースがある実現しますか?これがあなたのコードの中にあれば、それはそれを破る可能性があります。 – Drummad

+0

修正しました。ありがとう! – Amit

+0

これは私のコードではありませんでした。 – Amit

答えて

1

jquery UIオートコンプリート用のノックアウトバインディングハンドラが必要です。

ko.bindingHandlers.autoComplete = { 
    init: function(element, valueAccessor) { 
     var autoCompleteOptions = ko.unwrap(valueAccessor()); // Get the current value of the current property we're bound to 
     $(element).autocomplete(autoCompleteOptions); 
    } 
}; 
関連する問題