首页 新闻 会员 周边

急求:mvc三级联动编辑时怎么设置选中项

0
悬赏园豆:80 [已解决问题] 解决于 2012-06-19 10:46

各位老大, 我做的省市县联动创建时没有问题,我是用的jquery $.getJSON("Controller/Action", function (data) {}初始化下拉框数据的。由于这个联动有很多地方用,我做成了PatialView。问题是这样的,我编辑选中数据时,怎么初始化下拉框的值呢?想了一天了也没办法,各位大大给个方法哈!你们这种联动菜单是怎么处理的呢

再加30豆豆 希望能得到解决办法!苦逼。。。。。

我从草原来的主页 我从草原来 | 初学一级 | 园豆:51
提问于:2012-06-18 10:31
< >
分享
最佳答案
0

mvc中js也可以控制

在选的时候又有个请求的过程中

收获园豆:80
snjsunyan | 初学一级 |园豆:55 | 2012-06-18 10:41

比如,我修改一条记录到Edit action 。在action中可以得到这条记录。可我的省市县做成了“patialView”,这个值怎么赋值给它呢?又如何在js中控制呢?还不是很明白,做过的兄弟给段代码看看 跪谢了..........

我从草原来 | 园豆:51 (初学一级) | 2012-06-18 10:45

在页面loading的时候就赋值

<td colspan="3">
                        <select name="Province" class="Province" style="width: 100px;">
                              <option value="">--请选择--</option>
                        </select>
                        <select name="city" class="City" style="width: 150px;">
                              <option value="">--请选择--</option>
                        </select>
                            <select name="Hospital" class="Hospital" style="width: 250px;">
                              <option value="" >--请选择--</option>
                        </select>
                    </td>

$(document).ready(function () {
    LoadProvince();
    LoadADDProvince();
})



function LoadADDProvince() {
    $("#AProvince").empty();
    $("#AProvince").change(function () { LoadADDCity(); });
    $.get("/Basic/GetAllProvince", function (data) {
        $("#AProvince").html(data);
    });
}

function LoadADDCity() {
    $("#ACity").empty();
    $.get("/Basic/GetProvinceByID?ProvinceID=" + $("#AProvince").val(), function (data) {
        $("#ACity").html(data);

    });
}

function LoadProvince() {
    $(".Province").empty();
    $(".Province").change(function () { loadCity(); });
    $.get("/Basic/GetAllProvince", function (data) {
        $(".Province").html(data);
    });
}

function loadCity() {
    $(".City").empty();
    $(".City").change(function () { loadHospital(); });
    $.get("/Basic/GetProvinceByID?ProvinceID=" + $(".Province").val(), function (data) {
        $(".City").html(data);
    });
}

function loadHospital() {
    $(".Hospital").empty();
    $.get("/Basic/GetCityByID?CityID=" + $(".City").val(), function (data) {
        $(".Hospital").html(data);
    });
}
snjsunyan | 园豆:55 (初学一级) | 2012-06-18 11:35

@snjsunyan: 谢谢你!你这个三级下拉选项。新增一条记录后,如果要修改它,在编辑页面三级下拉选项是怎么处理的?如何设定选中值呢(选中值是这条编辑记录的“省”、“市”、“医院”)

我从草原来 | 园豆:51 (初学一级) | 2012-06-18 11:45

把参数改一下,把已有的值赋给控件就好

snjsunyan | 园豆:55 (初学一级) | 2012-06-18 12:16

@snjsunyan: 能给个例子看看么 我找了半天了 没找到类似的例子

我从草原来 | 园豆:51 (初学一级) | 2012-06-18 13:42

$(document).ready(function () {
    LoadProvince(id);
    LoadADDProvince(id);
})

在修改的时候是已经有值了,直接传就好了,很简单

snjsunyan | 园豆:55 (初学一级) | 2012-06-18 16:10
其他回答(3)
1
artwl | 园豆:16736 (专家六级) | 2012-06-18 10:34
0

你 傳一個 實體 變量 過去,用這個變量 初始化 下拉列表。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-06-18 11:13

不是很明白!你是说 在Edit的Action中 传一个变量么?那么它是传到js中?还是View层?传过去后又怎么处理呢?我是新手,兄弟们能说的更具体些么 困扰了好久了 郁闷啊...................

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2012-06-18 11:21

@無限遐想: 这个帖子我看过了,我的数据是从js中初始化的。修改时 变量如何传过来呢?有例子么兄弟 跪谢了!!!

支持(0) 反对(0) 我从草原来 | 园豆:51 (初学一级) | 2012-06-18 14:00
0

自己解决了!刚用MVC,应用都不熟悉。js也比较差 真实的

在controller new SelectList 设定选定项 view层绑定selectlist就行了 别的方法有空再试试吧 谢谢了

我从草原来 | 园豆:51 (初学一级) | 2012-06-19 10:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册