如何将基本值设置为 Bootstrap Smartadmin 的 select 框

how to set basic value to select box of Bootstrap Smartadmin

我正在使用 bootstrap,它使用 SmartAdmin 主题。

它将所有html结构变成<section><div>结构包含<select><option>

所以我的输出如下所示。

<section id="00000001" class="col col-md-6">

        <label class="label">SomeLabel 
            <sapn class="cp_id_text"></sapn>            
        </label>

        <label class="select">
            <div class="select2-container form-hidden-control" id="s2id_00000001" title="" style="width: 100%;"><a href="javascript:void(0)" class="select2-choice" tabindex="-1">   <span class="select2-chosen" id="select2-chosen-9">20th Century Fox Film Corporation(00000001)</span><abbr class="select2-search-choice-close"></abbr>   <span class="select2-arrow" role="presentation"><b role="presentation"></b></span></a><label for="s2id_autogen9" class="select2-offscreen"></label><input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-9" id="s2id_autogen9"></div><input type="text" class="form-hidden-control select2-offscreen" id="00000001" name="cp_id" value="" data-init-text="" inputtype="select" title="" maxlength="50" tabindex="-1">
            <script>$("#00000001").select2(selects2Option('00000002','cp_id'));</script>
        </label>    
    <script>

        $("#00000001").attr("maxlength", "50");
    </script>
</section>

因为我找不到任何 <select> 标签,所以我不能使用 selected 属性来设置默认值。

我可以通过jquery、parent()find()等方式找到,但效率不高。有什么办法可以像 selected 这样简单地处理吗?

SmartAdmin 网站说他们使用 select2 api,但他们没有提到如何将值设置为默认值。

站点:http://192.241.236.31/smartadmin/BUGTRACK/track_/documentation/index.html#!/introduction

谢谢。

如果您看到 select2 演示,您会发现 Programmatic access 区域,其中提供了如何在 button 点击时设置值。同样可以用来设置初始化后的默认值如下:

<select class="js-example-programmatic">
  <option value="one">First</option>
  <option value="two">Second</option>
  <option value="three">Third</option>
</select>

Js

$(document).ready(function() {
     $(".js-example-programmatic").select2();
     var $example = $(".js-example-programmatic");
     $example.val("three").trigger("change");
});

DEMO HERE

我自己解决了这个问题。 @Guruparasad Rao 的回答很有帮助,但我想谈谈我是如何解决的。(因为有点不同)

首先,我抓取了绑定到 select2 的元素。

target.select2('destroy');
        var data = [
                    {id: 'admin', text: 'admin'}
                    , {id: 'visitor', text: 'visitor'}
                    , {id: 'buyer', text: 'buyer'}];
        target.addClass('col-md-12').select2({data : data, multiple: true});

我想提到的一件事是使用 idtext 键是 select2 中的固定语法。该对象应包含该关键字。