任何人都知道如何使用依赖于用户选择的值组合组合,我必须组合,国家和地区,当用户选择contry我需要去数据库并获取该国家的地区,任何人都知道如何做这个,如果posibile使用AJAX.
谢谢.
您需要使用特定的Ajax库吗?
Ajax.Net Control Toolkit具有为此功能预先构建的Cascading Dropdown控件.
错过了MVC部分,在这种情况下,Ajax Control Toolkit将无法工作.jQuery可能是最好的选择,因为它使Ajax非常容易编码,而MS正在与MVC框架一起正式支持它.
如果您在站点上创建了RESTful服务(应该有大量关于如何执行此操作的文档),您可以通过jQuery返回json响应,如下所示:
标记:
假设服务将接受'id'作为参数并使用此模式返回json对象,例如:
[ { name: 'option1', value: '1'}, { name: 'option2', value: '2'} ]
您将此javascript添加到页面:
$(function() { $('select#opt1').change(function(){ $.getJSON('/data/myservice',{id: this.value}, function(response) { var options = ''; for (var i = 0; i < response.length; i++) { options += ""; } $('select#opt2').removeAttr('disabled').html(options); }); }); });
快速解释那里发生的事情; jQuery代码有点像剥洋葱,所以我会一次把它当作一个级别:
$(function(){})
是简写$(document).ready(function(){})
,因此它在ready事件触发时运行函数.
$('select#opt1').change(function(){})
找到命名的'opt1'并在更改事件触发时运行该函数.
$.getJSON()
Ajax是否会为您打电话.JSON响应作为字符串返回,并且必须解析为JSON对象,$ .getJSON会自动为您执行这些操作.第一个字段是服务的url,第二个字段是转换为查询字符串的名称/值对,第三个字段是处理响应的回调函数.