Zend framework 如何通过Zend Framework中更改的html选择选项调用控制器操作?
我的视图中有以下htmlZend framework 如何通过Zend Framework中更改的html选择选项调用控制器操作?,zend-framework,zend-form-element,zend-controller,Zend Framework,Zend Form Element,Zend Controller,我的视图中有以下html <span style="float:right"> <label> Pattern :</label> <select> <option value="3*3">3*3</option> <option value="6*6">6*6</option> <option value="12*12">12*12</opti
<span style="float:right"> <label> Pattern :</label>
<select>
<option value="3*3">3*3</option>
<option value="6*6">6*6</option>
<option value="12*12">12*12</option>
</select>
</span>
在Zend框架中,动作是控制器类中的方法,可以通过URL访问。例如,如果您的控制器类名为“MathController”,并且它包含一个名为“sixBySixAction”的操作,则您可以通过导航到类似以下内容的URL来触发此操作:
http://baseUrl/math/six-by-six
注意,action方法的名称在controller类中是大小写的,但在URL中用破折号分隔。这是Zend Framework的格式要求。还要注意,控制器类名为“MathController”,但您只需在URL中输入“math”
因此,您可以使用JavaScript为您的选择框分配onChange处理程序,该处理程序只重定向到特定URL,该URL通过访问特定控制器类中的特定操作方法来处理更改
有关这方面的更多信息,请查看Zend Framework程序员参考指南
至于JavaScript部分,下面是一个如何在更改选择框时重定向的示例。当然,您需要对此进行修改,但这会让您开始:
<Script language="JavaScript">
function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}
}
</SCRIPT>
<FORM NAME="form1">
<SELECT NAME="select" ONCHANGE="goto(this.form)">
<OPTION VALUE="">-------Choose a Selection-------</OPTION>
<OPTION VALUE="index.htm">Home</OPTION>
<OPTION VALUE="web_development.htm">Web Development</OPTION>
<OPTION VALUE="html_codes.htm">HTML Tips</OPTION>
<OPTION VALUE="html_codes_chart.htm">HTML Code Chart</OPTION>
<OPTION VALUE="javascript_codes.htm">JavaScript Codes</OPTION>
<OPTION VALUE="216_color_chart.htm">Color Code Chart</OPTION>
</SELECT>
</FORM>
函数goto(form){var index=form.select.selectedIndex
if(form.select.options[index].value!=“0”){
location=form.select.options[index].value;}
}
-------选择一个选项-------
家
网络开发
HTML提示
HTML代码图
JavaScript代码
色码图
您需要更具体地说明为什么要这样调用您的操作
您可以使用AJAX获取操作生成的一些数据,也可以执行简单的重定向。这取决于你想要实现什么
AJAX解决方案:
onchange
事件处理程序附加到select
$this->\u helper->JSON($data)
将您的html更改为
<select id="your_id">
<option value="Threes">3*3</option>
<option value="Six">6*6</option>
<option value="Twele">12*12</option>
</select>
希望它能起作用我知道你说的所有wt,但先生,在我的例子中,我的意思是在关于更改的选项中,我将如何做到这一点???@FawadGhafoor我添加了一个如何使用JavaScript处理onChange事件的示例。这是你需要的吗?
<select id="your_id">
<option value="Threes">3*3</option>
<option value="Six">6*6</option>
<option value="Twele">12*12</option>
</select>
$("#your_id").change(function() {
var action = $("#your_id").val();
var href= "Controller/"+action +"/";
var data = your data;
$.ajax({ type: "GET",
url: href,
data: data,
success: function(response){
//do what u wana do
}
});
}):