【发布时间】:2019-05-09 23:40:37
【问题描述】:
用户在两个选择列表中选择行数和列数来设置网格,比如 2x3。在第三个选择列表中,用户最多只能选择 6 个,不能更多。
最多 6 个取决于 2x3 之前的选择。我没有将 6 的值放入 selectpicker 的 data-max-options 属性中。这甚至可以根据其他两个输入来更新此属性吗?
使用来自 Github 的 snapappointments 的 bootstrap-select 就可以了。但是回退到纯 jquery 可以让它运行。也许在脚本运行期间不会更新 data-max-options 属性,在其他问题中已经阅读过此内容,但不幸的是,我对此没有太多经验,因此高度赞赏任何提示。
<select class="grid rows">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select class="grid cols">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="text" id="max" title="just demo" />
<select id="grid" size="10" multiple="multiple" class="selectpicker show-tick" data-max-options="2">
<option>01</option>
<option>02</option>
<option>03</option>
<option>04</option>
<option>05</option>
<option>06</option>
<option>07</option>
<option>08</option>
<option>09</option>
<option>10</option>
</select>
<script type="text/javascript">
$(".grid").change(function (event) {
var rows = $(".grid.rows option:selected").val();
var cols = $(".grid.cols option:selected").val();
var grid = rows * cols;
if (grid == 0) {
$('#max').val('');
} else {
$('#max').val(grid);
}
console.log("number" + grid);
});
// $('#grid').data('max-options', 6); // this works, but not inside above function
</script>
【问题讨论】:
标签: jquery bootstrap-select bootstrap-selectpicker