从MVC中的一个下拉列表更改(多个)下拉列表的值

问题描述:

我有一个MVC页面,其中一些控件位于表单内。我需要帮助的部分: 我在列表中有一堆下拉列表。所有动态命名的(drop {0},其中{0}是ID (实际上,它只是一个计数器:1,2,3等))。在列表顶部,我想要另一个下拉菜单,它会在更改所有下拉菜单时进行更新。我用复选框做了类似的事情(选中一个,所有都选中,等等),所以我认为这可以做到,希望就这么简单。我更喜欢它在客户端,所以一旦表单被提交,新的值将被添加/更新到数据库。从MVC中的一个下拉列表更改(多个)下拉列表的值

编辑:所有下拉列表的值都是静态的。它们都是1-50的清单,代表我为特定记录制作的卡片数量。

这是我怎么没复选框:

$("#chkSelectAll").click(function() { 
     $(".checkbox").attr('checked', this.checked); 
}); 

在哪里开始有什么想法?

谢谢!

+0

这肯定是可能的,但是你想要下拉列表更新到什么程度? – 2010-03-23 17:57:19

+0

什么都没有。当提交表单并将值存储在该点时,他们会读入他们的下拉列表。显示在ddl中的值仅用于显示目的,直到按下“UPDATE”按钮,此时值才会更新。 – SlackerCoder 2010-03-23 18:03:08

一个可能的解决方案:

 $("#ddlQuantity").change(function() { 
      $(".quantity").attr('selectedIndex', this.selectedIndex); 
     }); 

由于.quantity类适用于所有创建对象,改变“类”的.attr工作得很好。

您可以使用starts with选择:

$('#somedropdown').change(function() { 
    // when the value of the dropdown changes loop through other dropdowns 
    // whose id begins with "drop" 
    $('select[id^=drop]').each(function() { 
     // do something with the dropdown 
    }); 
}); 
+0

这听起来很愚蠢,但是我做的是什么?例如,对于复选框,我做了 $(“。checkbox”)。attr('checked',this.checked); 它将更改所有复选框并使用类.checkbox进行检查。我只是不知道jQuery的下拉属性是什么,并且无法找到它的任何文档... – SlackerCoder 2010-03-23 18:34:00

+1

你仍然没有在你的问题中陈述你想要做什么与这些下拉这就是为什么我离开了评论。例如,对于一个复选框,你可以设置它的检查状态,一个下拉菜单,你可以改变选定的值,... – 2010-03-23 18:43:54

+0

Gotcha,我实际上并不想让他们做任何事情,只是显示change.The“东西”,我需要的是。 attr('selectedIndex',...)。我无法弄清楚.attr需要什么(我尝试过“选择”,但不是这样......有人在这里用'selectedIndex'给我打了折扣) – SlackerCoder 2010-03-24 14:59:32

我知道你要设置的其他下拉菜单的选择,使用jQuery。如果是这样,这样做....

function onSelectChange(){ 
    var stext = $("#dropdown0 option:selected").val(); 
    switch (stext) { 
    case "Value1": 
     $("#dropdown1 > option[value='Good']").attr('selected','selected'); 
     $("#dropdown2 > option[value='9000']").attr('selected','selected'); 
     break; 
    case "Value2": 
     $("#dropdown1 > option[value='Better']").attr('selected','selected'); 
     $("#dropdown2 > option[value='34000']").attr('selected','selected'); 
     break; 
    case "Value3": 
     $("#dropdown1 > option[value='Good']").attr('selected','selected'); 
     $("#dropdown2 > option[value='1000']").attr('selected','selected'); 
     break; 
    case "Value4": 
     $("#dropdown1 > option[value='Better']").attr('selected','selected'); 
     $("#dropdown2 > option[value='9000']").attr('selected','selected'); 
    } 
} 

工作示例:(显然很多)http://jsbin.com/odabe