2012-02-28 8 views
9

ブートストラップの先頭のjavascriptプラグインを使用して、jQueryの$ .postメソッドを使用してデータソース属性を変更しようとしています。最初は、私が持っている:ポストレスポンスでブートストラップの先読みデータソースを更新できません

$('button').on('click',function(){ 
    $.post('update.php',function(resp){ 
      $('input').attr('data-source',resp); 
    }); 
    }); 

RESPのXHR結果、このような配列を返します。

<input type="text" data-provide="typeahead" data-source="["Option 1","Option 2","Option 3"]"> 

それでは、ボタンがクリックされ、それがデータ・ソースを更新しようとしているとしましょう

["One Option","Two Option","Three Option"] 

私は、これが応答で構築された新しい配列でデータソースを確実に更新しないことを発見しました。

誰でも問題の原因を知ることができますか?

これは選択された値をキャプチャするようには表示されません。誰もブートストラップとタイプアヘッドを使用して選択した値を取得する方法を知っていますか?

+0

私は対処するには物理的なエラーがないため、非常に多くの回答が得られていないと思います。あなたはXHR結果を投稿できますか?パラーム?おそらくresp値が受け入れられない配列に戻ってきています。あなたはint値を引用せず、varchar値を引用していますか?それらの種類のもの。あなたの場合にはもっと役に立つかもしれません。 – Ohgodwhy

+0

XHRの外観を追加しました –

+0

このカスタマイズされたtypeaheadプラグインを使用すると、ajaxデータの読み込みとカスタムテキストのレンダリングが可能になります。https://gist.github.com/3287063 – user1307794

答えて

31

私は結局どのようにこれを行うかを考え出しました。それはoutlined on github hereです。

先行入力のデータ属性にアクセスし、ソース配列を直接変更します。例:

var autocomplete = $('input').typeahead(); 

//where newSource is your own array 
autocomplete.data('typeahead').source = newSource; 
+2

問題が解決しない場合は、解決される。 –

+0

'autocomplete.data( 'typeahead')の後に文が実行されない理由。source = newSource;' – Vikram

関連する問題