ウィジェット JMultiSelect を使用しましたが、ajax ボタン (ajax リクエスト) を押すと、選択した値がコントローラーに送信されます。リクエストの「データ」に値が追加されることを希望します。
これは私のウィジェットです:
$this->beginWidget('CActiveForm', array(
'id' => 'Music'
));
$this->widget('ext.multiselect.JMultiSelect', array (
'id'=>'MusicName',
'name'=>'Music',
'data' => $music,
'options'=> array('header'=>'Select a music file', 'noneSelectedText'=>'Select a music file', 'multiple'=>false),
));
$this->endWidget();
私はこのようなことを試しました:
echo CHtml::ajaxLink(
'Test request',
array('video/createVideo'),
array(
'update'=>'#req_res',
'data'=> array(
'musicFile'=>'js:function(){
return document.getElementById("Music").value;
}',
),
'type' => 'post',
)
);
解決策を見つけましたが、今ではテキストの代わりに値があります:
'musicFile'=>'js:function(){
return $("#MusicName").multiselect("getChecked").map(function(){
return this.value;
}).get();
}',