2017-07-19 108 views
9

我有問題試圖獲取選定的對象,而不是傳遞給成功回調的「newValue」。X-Editable JQuery插件 - 選擇獲取源對象

下面是一個例子:

$("select").editable({ 
     type : "select", 
     title: 'Select Fruit', 
     source : [ 
      {text : "Apple", value: "option_1"}, 
      {text : "Orange", value: "option_2"}, 
      {text : "Mango",value: "option_3"}, 
      {text : "Strawberry",value: "option_4"} 
     ], 
     success:function(response,newValue){ 
      console.log(newValue); // newValue contains the "text" string ok.. 
      // How do I get the selected source object? eg. {text : "Orange", value: "option_2"} 
      // So I can access the object like.. 
      console.log(newValue.value); // output option_* 
     } 
    }); 

感謝 卡爾

+0

你有沒有看到console.log(響應)? – MVG1984

+0

是的,我已經嘗試過,這是來自Ajax請求(我沒有使用)的響應 –

+0

@CarlSmith可以爲此做一個小提琴嗎? – ProllyGeek

回答

5

可以使用display回調訪問value,甚至整個所選對象:

<a href="#" id="status" data-type="select" data-pk="1" data-title="Select status"></a>  
<script> 
    $(function() { 

    $("#status").editable({ 
     type: "select", 
     title: 'Select Fruit', 
     source: [ 
     {text : "Apple", value: "option_1"}, 
     {text : "Orange", value: "option_2"}, 
     {text : "Mango",value: "option_3"}, 
     {text : "Strawberry",value: "option_4"} 
     ], 
     display: function(value, sourceData) { 

     if (value) { // value = "option_3" etc. 
      $(this).html(value); 
     } 

     /* OR if you want to access the selected source object ... 

     var selected = $.fn.editableutils.itemsByValue(value, sourceData); 
     if (selected.length) { 
      $(this).html(selected[0].value); 
     } */ 
     } 
    }); 
    }); 
</script> 

演示:http://jsfiddle.net/6vzrug72/

相關問題