我无法为从db获取的ef_name设置值。单个id有多个行。
表格
public function addRow()
{
$row_form = new Zend_Form(array(
'elements' => array(
'ef_name' => array(
'type' => 'text'
),
),
));
$new_form_index = count($this->_subForms)+1;
$row_form->setElementsBelongTo('diam['.$new_form_index.']');
$this->addSubform($row_form, $new_form_index);
return $row_form;
}
public function init() {
$this->addElement('hidden', 'id', array(
'value' => 1
));
for($cdr=0;$cdr<10;$cdr++)
$this->addRow();
}
查看
<?php
echo $this->form ;
$this->jQuery()->enable();
?>
<?php $this->jQuery()->onLoadCaptureStart(); ?>
jQuery('#category').change(newEcat);
<?php $this->jQuery()->onLoadCaptureEnd(); ?>
<script><!--
function newEcat()
{
var p = $("#category").val();
var response = $.ajax({
url: "<?php echo $this->url(array('controller'=>'index',
'action'=>'details')) ?>",
type: "GET",
data: {id: p},
cache: false,
success: function(text){
response = text;
$("#category").val($(text).find("select[name='category']").val());
$("#ef_name").val($(text).find("select[name='ef_name']").val());
},
error: function() { alert('Sorry, no family members defined.'); }
});
}
--></script>
控制器
if ($this->getRequest()->isXmlHttpRequest()) {
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(TRUE);
$id = $this->_getParam(id);
$form->category->setValue($id);
}
答案 0 :(得分:0)
查看强>
function newEcat()
{
var p = $("#category").val();
var response = $.ajax({
url: "<?php echo $this->url(array('controller'=>'index', 'action'=>'details')) ?>",
type: "GET",
dataType: 'json',
data: {id: p},
cache: false,
success: function(text){
if(JSON.stringify(text) == '[]')
alert('Sorry, there are no family details for this employee.');
for(var valVar=0;valVar<10;valVar++){
valVarinc = valVar+1;
$("#diam-"+valVarinc+"-ef_name").val('');
}
for(var valVar=0;valVar<10;valVar++){
valVarinc = valVar+1;
if(text[valVar].ef_name != ''){
$("#diam-"+valVarinc+"-ef_name").val(text[valVar].ef_name);
}
}
},
error: function() { alert('Sorry, there are no family details for this employee.'); }
});
}
<强>控制器强>
if ($this->getRequest()->isXmlHttpRequest()) {
$id = $this->_getParam(id);
$form->category->setValue($id);
}