2017-07-18 9 views
0

私のコントローラから複数のselect(fastselect)ドロップダウンを入力する方法を探しています。私はclickイベントを複数selectにバインドしてajaxリクエストを作成しようとしました。複数選択のdata-url属性は、jsonでエンコードされたajaxの応答と等しくなります。 dbrekalo fastselectのドキュメントでは、data-url属性がjsonファイルを受け入れるので、これが可能になると思いました(私は、jsonを返す限り、パラメータ/値を受け入れることができると思いました)。Codeigniterを使用した動的dbrekalo fastselect

私はまた私の意見で保存され、ダミーJSONファイルを作成するフォルダしようとしたdata-url属性にファイル名を置くが、私は同じエラーを取得:

Uncaught TypeError: Cannot use 'in' operator to search for '16894' in <!DOCTYPE html> 

どのようにすることができますを教えてください私はこれを成功させる。私は他の(現在のリストでは利用できません)機能を追加できる複数選択のための代替jqueryプラグインを見つけることができません。

これは、ビューがどのように見えるかです:

<div class="col-lg-7"> 
<input 
    id="multip" 
    type="text" 
    multiple 
    class="multipleSelect" 
    data-user-option-allowed="true" 
    data-load-once="false" 
    name="skills[]";/> 
</div> 

AJAX:

$(".multipleSelect").click(function() { 

     var url = "<?php echo base_url()?>applicant/get_skill_list"; 
     $.ajax({ 

      dataType: "JSON", 
      type: "GET", 
      url: url, 
      success: function(data) { 
       console.log(data); 
       $("#multip").attr("data-url", data); 
      } 
     }); 
    }); 

マイコントローラ:fastselectプラグインのデータで

public function get_skill_list() { 

     $data = $this->Dropdown_model->get_skill_list(); 
     echo json_encode($data); 
    } 
+0

あなたは 'json response'を共有できますか? –

+0

残念ながら、応答はありませんでした。私は私のアヤックスが誘発していないと思っていた。あなたの応答をありがとう@ShyamShingadiya –

+0

さて、あなたのコントローラの機能では、 'echo json_encode($ data);'を追加する必要があります。 –

答えて

0

を動的にAJAXを使ってロードされますが、この場合、以下の行を使用する必要があります。

<input type="text" id="multip" class="singleInputDynamic" data-url="<?php echo base_url('applicant/get_skill_list')?>" data-load-once="true" name="language" /> 


<script type="text/javascript"> 
    $('#multip').fastselect(); 
</script> 

これで、データが下位フォーマットになっていることを確認します。 text-valueペア。

[ 
    {"text": "Afghanistan", "value": "Afghanistan"}, 
    {"text": "Albania", "value": "Albania"}, 
    {"text": "Algeria", "value": "Algeria"}, 
    {"text": "Angola", "value": "Angola"} 
] 

これは役に立ちます。

+0

あなたの提案をありがとうが、それでも動作していません。私は入力タグのいくつかの属性(fastselectが提供する属性)を削除しようとしました。 idとtype属性だけを残して、ajaxは正常に動作しています。だから私は問題がfastselectプラグインにあるかもしれないと思う。 –

+0

更新された解決策をご確認ください。 –

+0

ああ、私もそれをやろうとしたことを忘れていましたが、それでも動作しません。だから私は 'data-url'がjsonファイルだけを受け入れる必要があるかどうか尋ねました。 –

関連する問題