Php yii:如何通过ajax从cjuidialogbox传递数据?
问:如何通过ajax从cjuidialogbox传递数据 状态:我通过cjuidialogbox创建了一个弹出框。当用户从弹出框的cgridview中选择客户名称时,通过ajax将客户代码传递给function。我在这里 url:\''。Yii::app()->createUrl(“作业/getjobno”,数组(“c_代码”=>$data->c_代码”)。\, 帮我传递数据 这是一个对话框Php yii:如何通过ajax从cjuidialogbox传递数据?,php,yii,Php,Yii,问:如何通过ajax从cjuidialogbox传递数据 状态:我通过cjuidialogbox创建了一个弹出框。当用户从弹出框的cgridview中选择客户名称时,通过ajax将客户代码传递给function。我在这里 url:\''。Yii::app()->createUrl(“作业/getjobno”,数组(“c_代码”=>$data->c_代码”)。\, 帮我传递数据 这是一个对话框 <?php $this->beginWidget('zii.widgets.jui.CJu
<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog',array(
'id'=>'customerlist',
'options'=>array(
'title'=>Yii::t('job','Customer List'),
'autoOpen'=>true,
'modal'=>'true',
'width'=>'750',
'height'=>'500',
),
));
echo $this->renderPartial('_listing', array('model'=>$model)); ?>
<?php $this->endWidget('zii.widgets.jui.CJuiDialog');?>
这是_listing.php
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'customer_name',
array(
'class'=>'CButtonColumn',
'template'=>'{select}',
'buttons'=>array
(
'select' => array
(
'imageUrl'=>Yii::app()->request->baseUrl.'/protected/assets/images/gridview/icon_select.gif',
'options'=>array('style'=>'width:10px; border:none'),
'click'=>'function(){
var itemID = $(this).parents(\'tr\').find(\'.customer-id\').text();
//alert(itemID);
$.ajax({
url: \'' . Yii::app()->createUrl("job/getjobno", array("c_code" => $data->c_code)) . '\',
dataType: \'json\',
success: function(data){
var target = $(vNode).parents(\'tr\');
$("#Job_name").val(itemID);
//console.log(\'target tr: \' + target);
//$(target).find(\'.item-price\').val(data.item_price);
}
});
$("#customerlist").dialog("close");
}',
),
),
),
array(
'type'=>'raw',
'value'=>'$data->c_code',
//'filter'=>array('style'=>'visible:none'),
'headerHtmlOptions'=>array('style'=>'width:0px; display:none; border:none; textdecoration:none'),
'htmlOptions'=>array('style'=>'display:none; border:none;', 'class'=>'customer-id'),
'header'=>false,
'filter'=>false,
),
),
)); ?>
尝试以下方法:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'customer_name',
array(
'class'=>'CButtonColumn',
'template'=>'{select}',
'buttons'=>array
(
'select' => array
(
'url'=>'Yii::app()->createUrl("job/getjobno", array("c_code"=>$data->c_code))',
'imageUrl'=>Yii::app()->request->baseUrl.'/protected/assets/images/gridview/icon_select.gif',
'options'=>array('style'=>'width:10px; border:none'),
'click'=>'function(){
var itemID = $(this).parents(\'tr\').find(\'.customer-id\').text();
//alert(itemID);
$.ajax({
url:$(this).attr("href"),
dataType: \'json\',
success: function(data){
var target = $(vNode).parents(\'tr\');
$("#Job_name").val(itemID);
//console.log(\'target tr: \' + target);
//$(target).find(\'.item-price\').val(data.item_price);
}
});
$("#customerlist").dialog("close");
}',
),
),
),
array(
'type'=>'raw',
'value'=>'$data->c_code',
//'filter'=>array('style'=>'visible:none'),
'headerHtmlOptions'=>array('style'=>'width:0px; display:none; border:none; textdecoration:none'),
'htmlOptions'=>array('style'=>'display:none; border:none;', 'class'=>'customer-id'),
'header'=>false,
'filter'=>false,
),
),
)); ?>
尝试以下方法:
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'customer_name',
array(
'class'=>'CButtonColumn',
'template'=>'{select}',
'buttons'=>array
(
'select' => array
(
'url'=>'Yii::app()->createUrl("job/getjobno", array("c_code"=>$data->c_code))',
'imageUrl'=>Yii::app()->request->baseUrl.'/protected/assets/images/gridview/icon_select.gif',
'options'=>array('style'=>'width:10px; border:none'),
'click'=>'function(){
var itemID = $(this).parents(\'tr\').find(\'.customer-id\').text();
//alert(itemID);
$.ajax({
url:$(this).attr("href"),
dataType: \'json\',
success: function(data){
var target = $(vNode).parents(\'tr\');
$("#Job_name").val(itemID);
//console.log(\'target tr: \' + target);
//$(target).find(\'.item-price\').val(data.item_price);
}
});
$("#customerlist").dialog("close");
}',
),
),
),
array(
'type'=>'raw',
'value'=>'$data->c_code',
//'filter'=>array('style'=>'visible:none'),
'headerHtmlOptions'=>array('style'=>'width:0px; display:none; border:none; textdecoration:none'),
'htmlOptions'=>array('style'=>'display:none; border:none;', 'class'=>'customer-id'),
'header'=>false,
'filter'=>false,
),
),
)); ?>
Try$model->c_code
而不是$data->c_code
如果我喜欢这个'$data->c_code',它是这样传递的&c_code=%24data-%3Ec_code尝试$model->c_code
而不是$data->c_code
,如果我喜欢这个'$data->c_code',它是这样传递的&c_code=%24data-%3Ec_code但我还有一个问题。它正在重定向到job/getjobno。实际上,我想要的是关闭对话框,客户代码将显示在job/create的文本框中。我该怎么办?我需要创建另一个问题吗?请单击函数函数(事件){event.preventDefault();…}
并尝试,但我遇到了另一个问题。它正在重定向到job/getjobno。实际上,我想要的是关闭对话框,客户代码将显示在job/create的文本框中。我该怎么办?是否需要创建另一个问题?请单击函数函数(事件){event.preventDefault();…}
,然后重试