Bootstrap下拉项与Ajax源绑定

时间:2013-03-15 16:01:13

标签: ajax twitter-bootstrap dropdownbox

我有Bootstrap下拉按钮,我想在用户点击此下拉按钮时获取数据,而不是我需要在页面加载时加载国家/地区列表,这是我的代码;

<div class="btn-group">
<input class="text-box single-line" data-val="true" data-val-required="The Country field   is required." id="Country" name="Country" type="text" value="US" />
<a class="btn dropdown-toggle country" id="country" data-toggle="dropdown">
<span class="caret"></span>
</a>
<ul class="dropdown-menu countrys" role="menu" aria-labelledby="dropdownMenu">
   //store country list
</ul>
</div> 

我单击下拉按钮,它无法触发jquery工作,似乎Bootstrap不允许自定义下拉功能。

$(document).ready(function () {
        $('#country').click(function () {
            // Only call notifications when opening the dropdown
            if (!$(this).hasClass('open')) {
                $.ajax({
                    type: "GET",
                    url: "/getCountries",
                    async: false,
                    dataType: "script"
                });
            }
        });
    });

1 个答案:

答案 0 :(得分:2)

您可以尝试在dropdown-open事件中添加ajax请求。像这样的东西:

$('#myDropdown').on('show.bs.dropdown', function () {
  // do something…
})

show.bs.dropdow--调用show实例方法时会立即触发此事件。切换的锚元素可用作事件的relatedTarget属性。