有没有办法限制选择使用jquery的选定选项的数量?

时间:2013-11-01 15:58:59

标签: jquery twitter-bootstrap jquery-chosen

我正在使用公司购买的模板,模板使用以下内容作为应用程序的一部分。

此外,作为模板初始化代码的一部分,还包括:

var handleChoosenSelect = function () {
    if (!jQuery().chosen) {
        return;
    }

    $(".chosen").each(function () {
        $(this).chosen({
            allow_single_deselect: $(this).attr("data-with-diselect") === "1" ? true : false
        });
    });
}

我有以下代码:

        <div class="row-fluid">
          <div class="span12 ">
            <div class="control-group">
              <label class="control-label">Total Sctions</label>
              <div class="controls">
                <select class="span4 select2" id="id_total_section" name="total_section">
                  <option value="0" selected="selected">0</option>
                  <option value="1">1</option>
                  <option value="2">2</option>
                </select>
              </div>
            </div>
          </div>
        </div>
        <div class="row-fluid">
          <div class="span12">
            <div class="control-group">
              <label class="control-label">Section</label>
              <div class="controls">
                <select class="chosen" id="id_section" multiple="multiple" name="section">
                  <option value="1">Value 1 [1]</option>
                  <option value="2">Value 2 [2]</option>
                  <option value="3">Value 3 [3]</option>
                  <option value="4">Value 4 [4]</option>
                </select>
              </div>
            </div>
          </div>
        </div>

这个想法是动态限制从select元素中选择的部分的数量。

我做了一个测试试图限制在代码中使用它,但我没有运气,它不断选择超过1个元素。

    $("#id_section").chosen({ max_selected_options: 1 });
    $("#id_section").chosen().change( function () {
      console.debug("Change done");
    } );

欢迎任何解决此问题的帮助。

1 个答案:

答案 0 :(得分:0)

看起来像是Chosen plugin max_selected_options

的副本

问题是您在$("#id_section").chosen()之后立即致电$("#id_section").chosen({ max_selected_options: 1 });,这似乎会使选项无效。