【问题标题】:validation on mvc dropdown values?验证 mvc 下拉值?
【发布时间】:2014-05-26 15:38:32
【问题描述】:

我使用foreach 在 mvc razor 视图中创建了 5 个下拉菜单。如果在 jquery 的多个下拉列表中选择了相同的值,我需要进行验证。

我可以使用下拉列表id 轻松做到这一点,但如果我有更多动态创建的下拉列表呢?

是否有任何通用代码/方法可以做到这一点?

   </div>
 @Html.DropDownList("drdId"+count, new SelectList((ViewData["MYList"] as List<MYDATA>).Select(t => new { Value = t.Id, Text = t.Name }), "Value", "Text"))
                    </div>

我试过了

函数测试(){ var arr = new Array($("#count1").val(),$("#count2").val(), $("#count3").val(), $("#count4"). val()); for(var i=0; 我

如何使数组 arr 动态化以获得更多下拉列表?

【问题讨论】:

标签: jquery asp.net-mvc validation


【解决方案1】:

试试下面的逻辑。让我们假设每个下拉列表都有“testClass”类:

 function checkSelect(ref) {
            var len = $(".testClass").length;
            var count=0;
            for (var i = 0; i < len; i++) {
                if ($(".testClass:eq(" + i + ") option:selected").val() !="0" && $(".testClass:eq(" + i + ") option:selected").val() == $(ref).val())
                    count++;
            }
            if (count < 2)
                return true;
            else {
                $(ref).val("0");
                return false;
            }

         }

现在在下拉列表更改时调用此函数:

 $(document).ready(function () {
    $(".testClass").on("change", function () {
       if (!checkSelect($(this)))
          alert("Can not select duplicate");
      });
 });

希望这能解决您的问题。

【讨论】:

  • 我也试过像下面的检查更新的问题我如何使它为所有下拉列表动态?
  • 您只需将“testClass”添加到每个下拉列表中。然后上面的代码会帮助你。
猜你喜欢
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多