我已經使用了一個小部件JMultiSelect,我希望當我按下ajax按鈕(ajax請求)時,我選擇的值將發送到控制器。我希望這個值會被添加到我的請求的'數據'中。Yii:如何將JMultiSelect小部件選定的值發送到控制器
這是我的小工具:
$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();
}',
多選下拉列表已填充。但我不知道如何獲取發送給控制器的值,當我使用u ajax請求發送頁面上的所有數據時。 – userTom
使用POST或GET方法虐待更新我以前的帖子 – Ninad
小部件中的數據將填充字符串(或音樂文件名稱從$音樂)。我希望從該列表中選擇發送。我會更新我的第二個代碼部分 – userTom