我的MVC网页上有一个dropdownlistbox。下拉列表允许我选择国家/地区名称。当用户更改国家/地区时,我希望另一个下拉列表中包含该国家/地区的城市。
这可能与MVC有关吗?我不确定我是否应该使用javascript,AJAX,jquery或两者的组合。
非常感谢所有帮助和建议。
答案 0 :(得分:0)
使用jQuery的ajax功能。当第一个列表更改(.change()
)时,向MVC JSON操作发送ajax请求。请求返回时,您可以使用它来填充下一个下拉列表。
答案 1 :(得分:0)
$('#myDropDown').live('change', function(){
});
您也可以使用Ajax调用辅助页面,在其中填充并返回一个序列化的jSon。
另一个选项是使用AutoPostBack和OnSelectedIndexChanged(将其用作reference)
答案 2 :(得分:0)
<script type="text/javascript >
//Function for package binding on ddlindustry selected change index
$("#ID_OF_THAT DDL").change(function () {
var vv = $("#ID_OF_THAT DDL option:selected").val();
if (vv >= 0) {
$.ajax({
type: "GET",
url: '<%=Url.Action("ACTION", "CONTROLLER") %>',
data: {
"VARIABLE_TO_PASS": $("#ID_OF_THAT DDL option:selected").val()
}, //you can call public action from controller
dataType: "text", //in data enter value which u have 2 pass must same as like control actioresult passing param
contentType: "application/json",
success: bindpackage
})
}
});
</script>
<script type="text/javascript">
function bindpackage(result) {
eval(result);
}
之后在你的控制器中:
public ActionResult Function123 (int VARIABLE_TO_PASS){
RjsResult r = new RjsResult();
ViewData["Name"] = function to get data;
r.update("DIV_NAME","Name of the partial to update",ViewData, ControllerContext);
return r;
}
希望有所帮助:)