Chtml :: ссылка с JQuery - PullRequest
       1

Chtml :: ссылка с JQuery

0 голосов
/ 30 июня 2011

У меня есть раскрывающийся список

<?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 ]

3 голосов
/ 30 июня 2011

Ссылка создается в PHP ( до того, как ваш контент достигнет браузера). «Текущее значение раскрывающегося списка» имеет значение, которое имеет значение только после того, как ваш контент достигнет браузера (и пользователь может выбрать что-то из меню). Поэтому указанная проблема вообще не может быть решена с помощью PHP.

Вам нужно, чтобы ссылка выполняла некоторый JavaScript-код, который мог бы видеть, какой элемент выбран в данный момент на месте, создать URL-адрес с этой информацией и перейти к этому URL-адресу.

0 голосов
/ 30 июня 2011

Упрощенное решение (убраны экранированные символы, чтобы их было легче читать):

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')))

0 голосов
/ 30 июня 2011

Вы проверяли вывод html по идентификатору для выбора?Вам может потребоваться использовать #adj вместо #adjudicator в функции jQuery.

Вы также можете добавить что-то вроде: array('onchange'=>'update_function(this);') для передачи информации формы в функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...