2011-06-29 80 views
0

鏈接我有一個下拉列表CHTML ::使用jQuery

<?php echo CHtml::dropDownList('adj', $adj, $adjudicators, array('id'=>'adjudicator')); ?>

持有多項選擇。

我想獲取該下拉菜單的當前值,並將其用作鏈接中的參數。

array('name'=>'Assign', 'type'=>'raw', 'value'=>'CHtml::ajaxLink(\'Assign\',array(\'pwdApplication/assignApp\'), array(\'type\'=>\'POST\', \'data\'=> array(\'id\'=>$data->id, \'flag\'=>1, \'adj\'=>\'{getAdj()}\',), \'success\'=>"function(result) {$(this).html(\'Assigned\'); }",))'),

這裏是javascript函數

<script> function getAdj() { return $('#adjudicator').val(); } </script>

鏈路處於CGridView一列。我無法獲得適當的價值。

感謝您的幫助。

回答

3

該鏈接使用PHP創建(,之後您的內容到達瀏覽器)。 「下拉的當前值」是之後您的內容到達瀏覽器(並且用戶可以從菜單中選擇一些內容)後的含義。因此,所述的問題根本無法用PHP解決。

您需要讓鏈接執行一些JavaScript,它可以查看當前選定的項目是什麼,使用此信息創建URL並導航到此URL。

+0

我似乎無法調用JavaScript函數。我已經更新了上面的代碼感謝您的幫助。 – Koralarts

0

你是否檢查了選擇的id的html輸出?您可能需要在jQuery函數中使用#adj而不是#adjudicator

您還可以添加如下內容:array('onchange'=>'update_function(this);')將表單信息傳遞給函數。

0

簡體溶液(除去逃逸所以它更容易閱讀):

CHtml::ajaxLink('Assign', Yii::app()->createUrl('pwdApplication/assignApp'), array('type'=>'POST', 'data'=>array('id'=>$data->id, 'flag'=>1, 'adj'=>js:getAdj())), array('href'=>Yii::app()->createUrl('pwdApplication/assignApp'), 'id'=>$data->id . 'assign')))