从下拉按钮以编程方式选择元素

时间:2014-04-08 15:16:45

标签: javascript jquery html twitter-bootstrap

我需要从下拉按钮中以编程方式(javascript)选择一个元素:

          <div class="form-group">
            <label class="col-lg-3 control-label">Button</label>
            <div class="col-lg-9">
              <div class="btn-group m-r">
                <button data-toggle="dropdown" class="btn btn-md btn-default dropdown-toggle">
                  <span class="dropdown-label" data-placeholder="Please select">Option 1</span> 
                  <span class="caret"></span>
                </button>
                <ul class="dropdown-menu dropdown-select">
                  <li id="properties_form_1" class="active"><a href="#"><input type="radio" name="d-s-c-1">Option 1</a></li>
                  <li id="properties_form_2"><a href="#"><input type="radio" name="d-s-c-1">xxx</a></li>
                  <li id="properties_form_3"><a href="#"><input type="radio" name="d-s-c-1">xxxx</a></li>
                  <li id="properties_form_4"><a href="#"><input type="radio" name="d-s-c-1">xxx</a></li>
                  <li id="properties_form_5"><a href="#"><input type="radio" name="d-s-c-1">xxxxx-Pair</a></li>
                </ul>
              </div>
            </div>
          </div>

[UPDATE] 我尝试过以下方法:

    order_form_div.find("[id^='properties_form_']").each(function(){
    console.log("id: " + $(this).attr('id'));
    $(this).removeClass('active');  
});
order_form_div.find("#" + item.productType).addClass('active');

它将正确的项目激活,但文本在&#34;选项1&#34;没有更新。因此,我不是手动更改此文本,而是认为有任何优雅的方法可以执行此操作。

2 个答案:

答案 0 :(得分:2)

将所选属性切换为您想要选择的选项后,请运行

 $('.dropdown-menu').selectpicker('refresh');

这应该更新按钮。 (可能需要在btn-group上运行,不能从您的结构中确定)

答案 1 :(得分:0)

在黑暗中拍摄:

// deactivate all
$('.dropdown-menu li').removeClass('active');

// the id of the element to select
var selected = 'properties_form_2';

// set active class
$('#' + selected).addClass('active');
// check radio-button
$('#' + selected + '.active input').prop('checked', true);