JS获取Bootstrap下拉列表的值

时间:2015-07-08 13:53:11

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

有人能帮助我吗?

我已经尝试通过C#自定义帮助程序方法,HTML等在引导下拉列表中获取所选选项...但我认为唯一的方法是通过脚本。 我知道JS的字面上是零,但如果你想给我一篇文章,我会高兴地读它,并试着理解它,所以不用担心。 事实上,我想了解与网络相关的所有内容,但我以后会保存javascript。问题是,我现在必须这样做。

在下拉列表中有两个选项并使用MVC我需要通过所选值truefalsenull向控制器发送null(如果没有)被选中)。

下拉

                    <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();
                   }

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

2 个答案:

答案 0 :(得分:2)

检查出来:

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属性对象。

答案 1 :(得分:0)

由于您使用bootstrap,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>

这将在控制台中打印true / false,而是使用alert来显示弹出窗口。