如何使用zend框架2在更改下拉值时在输入字段内显示值
Posted
技术标签:
【中文标题】如何使用zend框架2在更改下拉值时在输入字段内显示值【英文标题】:How to show value inside input filed on change of drop down value using zend framework 2 【发布时间】:2014-08-14 07:38:22 【问题描述】:我正在尝试在 zend 框架 2 中创建一个 onchange 事件。假设如果我更改选项表单下拉列表,那么相关值将显示在输入字段中。这里我的下拉列表工作正常。但是当我尝试更改下拉列表时然后我的输入字段上没有显示值。但是数据来了。但没有显示在浏览器上。所以告诉我这是怎么可能的。 这是我的控制器
public function propratingAction()
$projectName = $this->propinquity()->projectName();
if($this->getRequest()->isPost())
$project =$this->getRequest()->getPost('project');
$projectD = json_decode($project, true);
//print_r($projectD);
$propinquityindex=$this->propinquity()->getproprating($projectD);
$propratinghtml=$this->propratingHTML($propinquityindex);
print_r($propratingHTML);
$viewModel = new ViewModel();
$viewModel->setVariables(array('key' => 'value'))
->setTerminal(true);
return $viewModel;
public function propratingHTML($propinquityindex)
$html='';
foreach ($propinquityindex as $value)
# code...
$html .='<input type="text" value="'.$value['critics_rating'].'"/>';
print_r($html);
$viewModel = new ViewModel();
$viewModel->setVariables(array("key" => "value"))
->setTerminal(true);
return $viewModel;
这里是视图部分
<div style="display:inline-block; margin-left:55px; margin-top:20px;">
<select style="width:12.5em;" id="project_id" onchange="getsectorindexAjax();"
data-placeholder="Project Name" class="selectError2" data-rel="chosen"
name="project_id" >
<option value="">--select project--</option>
<?php if($this->projectName)
foreach($this->projectName as $val)
echo '<option value="'.$val['project_id'].'">'.$val['Project_name'].'
</option>';
?>
</select>
</div>
<div class="main" style="display:inline-block; margin-left:10px;margin-top:20px;">
CRc Rating
<input style="width:20em;height:2.7em;" name="critics_rating"
id="critics_rating" type="text" value="">
</div>
ajax 调用
function getsectorindexAjax()
require(["dojo/request", "dojo/query","dijit/registry"], function(request, registry)
// Locate the JS object.
var project = dojo.byId("project_id").value;
//alert(project);
request.post("http://localhost/admin/propinquity/proprating",
data :
project : JSON.stringify(project)
).then(function(text)
dojo.byId("critics_rating").innerHTML = text;
console.log("return data : " + text);
);
);
所以建议我当我的下拉值发生变化时如何在输入字段中显示值。
【问题讨论】:
【参考方案1】:你可以试试这样的:
var dropdown= dijit.byId("project_id"); //get the select element
//on change event
dropdown.on('change', function(evt)
//get the selected value
var project = dropdown.get("value");
//your ajax request
request.post("http://localhost/admin/propinquity/proprating",
data :
project : JSON.stringify(project)
).then(function(text)
dijit.byId("critics_rating").attr("value", text);
console.log("return data : " + text);
);
);
【讨论】:
以上是关于如何使用zend框架2在更改下拉值时在输入字段内显示值的主要内容,如果未能解决你的问题,请参考以下文章