2016-10-07 93 views
1

\kartik\grid\EditableColumn小部件具有一個名爲ajaxSettings的參數,您可以在其中覆蓋通過ajax請求傳遞給服務器的參數。我想要做的是動態地將選定的行ID與來自彈出窗口的值一起傳遞到服務器。我設法做從PHP數組來在編譯的時候,像這樣在yii2-grid EditableColum小部件的ajax調用中傳遞動態參數

Editable::widget(['name' => 'publishDate', 'ajaxSettings' => ['ids' => [1,2,3]]]) 

是通過靜態的參數,但似乎我不能使用jQuery選擇那裏搶選定列的ID,像這樣

Editable::widget([ 
    'name' => 'publishDate', 
    'ajaxSettings' => [ 
     'ids' => '$("#books-grid").yiiGridView("getSelectedRows")' 
    ] 
]) 
+0

有趣的問題。需要做一些測試來找出答案。 –

回答

0

也許你想嘗試創建可編輯::小部件之外(可變[這樣的:

var arrayIds = $("#books-grid").yiiGridView("getSelectedRows"); 

然後將其分配到窗口小部件:

Editable::widget([ 
    'name' => 'publishDate', 
    'ajaxSettings' => [ 
     'ids' => arrayIds 
    ] 
]) 

希望這有助於

獅子座。

+0

我試過了,但IDs是從網格的選定複選框動態發出的,這似乎打破了Ajax調用中數據參數的覆蓋。 – silintzir

+0

我相信你需要將數組從yiiGridView轉換爲索引數組?你可以嘗試使用這個函數將數組轉換爲索引數組嗎? newArray = $ .makeArray(arrayIds); – Leo