【问题标题】:JS to get the value of Bootstrap dropdownJS获取Bootstrap下拉菜单的值
【发布时间】:2015-09-26 11:46:04
【问题描述】:

有人可以帮帮我吗?

我已经 试图通过 C# 自定义辅助方法、HTML 等在引导下拉列表中获取选定的选项......但我认为唯一的方法是通过脚本。 我对 JS 的了解几乎为零,但如果你想给我写一篇文章,我会很乐意阅读并尝试理解它,所以不用担心。 事实上,我想了解所有与网络相关的内容,但我正在保存 javascript 以备后用。问题是,我现在必须这样做。

在下拉列表中有两个选项,使用 MVC,我需要通过所选值(null,如果未选择任何值)将 truefalsenull 发送到控制器。

下拉菜单

                    <div class="dropdown">
                        <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" style="height:28px">
                            <span class="caret"></span>
                        </button>
                        <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
                            <li class="dropdown-header">Sort by</li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">Selected</a></li>
                            <li><a href="#">Unselected</a></li>
                        </ul>
                    </div>

控制器

                    public ActionResult Index(bool? export = null) {  

                    ViewData["export"] = export;  

                    //To do stuff

                    return View();
                   }

知道如何实现这一目标吗?

【问题讨论】:

    标签: javascript jquery ajax twitter-bootstrap model-view-controller


    【解决方案1】:

    看看这个:

    https://msdn.microsoft.com/en-us/library/dd504972(v=vs.118).aspx

    ActionLink 有一个重载,允许您指定路由值对象。它看起来像这样:

    <li>@Html.ActionLink("Selected", "Index", "Home", new { export = true }, null)</li>
    

    我只是猜测你的控制器是 Home,最后的 null 是因为重载也需要一个 html 属性对象。

    【讨论】:

    • 哇,这是一个非常好的方法。让我继续努力,因为 c&p 不会做我想做的事,如果有效,我会返回并评分。
    【解决方案2】:

    由于您使用引导程序,jquery 包含在您的代码中,您可以将事件附加到下拉单击

    $('.dropdown-menu li a').click(function() {
        console.log($(this).data('value'));
    });
    

    并以这种方式编辑html锚

    <li><a href="#" data-value="true">Selected</a></li>
    <li><a href="#" data-value="false">Unselected</a></li>
    

    这将在控制台中打印真/假,使用警报代替显示弹出窗口。

    【讨论】:

      猜你喜欢
      • 2014-01-28
      • 2023-03-19
      • 2019-10-05
      • 2016-04-15
      • 1970-01-01
      • 2017-03-06
      • 2021-01-02
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多