2014-04-04 64 views
0
我目前使用所選擇的jQuery插件

AJAX: http://harvesthq.github.io/chosen/發送額外的參數,選擇

本補充(增加一個Ajax請求): https://github.com/meltingice/ajax-chosen

我想知道如果任何人有曾經能夠發送額外的參數給ajax函數。 現在它只發送輸入中的字母,但我想發送一個額外的ID。 下面是我在做什麼:

$("#mySelect").ajaxChosen({ 
    minTermLength: 2, 
    type: "GET", 
    url: "/Orders/ajax_getBundleItems", 
    dataType: "json", 
    error: onItemChosenFail 
    }, 
    function (data) 
    { 
     var terms = {}; 

     $.each(data, function (i, val) { 
      terms[i] = val; 
     }); 
     return terms; 
    }); 

我使用CakePHP的框架,這是我的ajax功能:

public function ajax_getBundleItems($term = null) { 
      $this->layout = false; 
      echo "<pre>"; 
      var_dump($this->request->data); 
      var_dump($this->params['url']['term']); 
      echo "</pre>"; 
     } 

$這個 - > PARAMS [ '鏈接'] [ '術語' ]給我輸入的字母,我想$ this-> request-> data是一個id。

問候

回答

2

您可以在URL參數傳遞這樣的:

var id = 123; 

    $("#mySelect").ajaxChosen({ 
    minTermLength: 2, 
    type: "GET", 
    url: "/Orders/ajax_getBundleItems?Id="+id, 
    dataType: "json", 
    error: onItemChosenFail 
    }, 
    function (data) 
    { 
     var terms = {}; 

     $.each(data, function (i, val) { 
      terms[i] = val; 
     }); 
     return terms; 
    }); 

var MyId = 23; 

$("#mySelect").ajaxChosen({ 
    minTermLength: 2, 
    type: "GET", 
    url: "/Orders/ajax_getBundleItems", 
    dataType: "json", 
    data: { id:MyId }, 
    error: onItemChosenFail 
    }, 
    function (data) 
    { 
     var terms = {}; 

     $.each(data, function (i, val) { 
      terms[i] = val; 
     }); 
     return terms; 
    }); 

你可以從一些變量

+0

只有當ID不變時,這纔有效。每次用戶按下某些字母時,我想發送一個特定的ID。 – user2688870

+0

你也可以在這裏傳遞一個變量 –

+0

查看更新的答案 –

0

這裏你通過標識這是實際答案,使用BeforeSend選項:

$('select[name=element_id]', '#f-load-tc').ajaxChosen({ 
     type: 'GET', 
     url: 'dynamic_url', 
     dataType: 'json', 
     afterTypeDelay: 300, 
     allow_single_deselect: true, 
     no_results_text: "No results matched", 
     beforeSend: function(xhr, opts) { 
      opts.url += '&category_id='+$category.val(); 
     }, 
    }, 
    function (data) { 
     console.log(data); 
     var terms = {}; 
     $.each(data, function (i, val) { 
      terms[i] = val; 
     }); 

     return terms; 
    }); 
相關問題