Sé que esta pregunta se ha realizado numerosas veces, tanto aquí como en el sitio Yii, pero no estoy obteniendo la solución incluso después de pasar por cada solución. Estoy seguro de que estoy haciendo algo fundamentalmente equivocado. Entonces, si todavía está leyendo esto, aquí nada,Yii - jQuery no funciona después de renderPartial
Tengo una página que tiene cargado un widget CheckBoxList. Tiene una llamada de función jQuery change() que refresca un CGridView que funciona perfectamente. También tengo un lapso relacionado con cada uno de los elementos en checkBoxList que tienen un evento de clic.
Este evento de clic, a su vez llama a un controlador que "hace parcialmente" una vista -
Yii::app()->clientscript->scriptMap['jquery.js'] = false;
$this->widget('ext.xxx.EModelWidget', array(
'name' => $widget_name,
'manufacturer_id' => $manufacturer_id,
)
);
Y el código del widget correspondiente imprime una CheckBoxList después de ir a buscar $ datos de la db.
echo CHtml::checkBoxList($this->name, array(), $data, array(
'class' => 'modelFilter',
'separator' => '',
'template' => '<div>{input} {label}</div>',
'id' => 'dummyID',
));
Como se puede ver, he puesto el nombre de clase para cada elemento que se representa como una casilla de verificación para ser modelFilter
Ahora tengo un script en el archivo principal objeto de mostrar sólo un cuadro de alerta cuando se hace clic en la casilla de verificación del modelo modelFilter.
Yii::app()->clientScript->registerScript('model-selected', "
$('input.modelFilter').change(function(){
alert('Hellpo!');
});
");
Pero, por desgracia, esto nunca sucede.
Las dos soluciones comunes que he leído en todos los foros es
a) Yii :: aplicación() -> clientscript-> ScriptMap [ 'jquery.js'] = false; que puede ver que he seguido debidamente.
b) $ result y $ processOutput Los parámetros del renderPartial son falsos y verdaderos, respectivamente., que también es algo que he seguido.
Así que mi pregunta es ¿qué debo hacer para obtener la función de cambio en un contenido que se carga a través de Ajax funcionando, en Yii !!
Por lo que yo entiendo ... ¿el evento click también dispara una solicitud AJAX? Si este es el caso, ¿podría verificar si hay un jQuery JavaScript incluido en la respuesta? Si es así, esto puede reiniciar su jQuery y arruinar su lógica de JavaScript, aunque debería poder deshabilitar esto configurando processOutput en 'false'. – schmunk