我在我的选择下拉列表中有30个元素。但我需要限制用户只选择其中的10个。一旦他选择了10个元素,其他人应该禁用。我如何使用java脚本来做到这一点?如何在html中选择一些限制后禁用下拉列表元素
1
A
回答
2
使用下面的jQuery代码
$(document).ready(function() {
var last_valid_selection = null;
$('#testbox').change(function(event) {
if ($(this).val().length > 10) {
alert('You can only choose 5!');
$(this).val(last_valid_selection);
} else {
last_valid_selection = $(this).val();
}
});
});
HTML是继
<select multiple id='testbox'>
<option value='1'>First Option</option>
<option value='2'>Second Option</option>
<option value='3'>Third Option</option>
<option value='4'>Fourth Option</option>
<option value='5'>Fifth Option</option>
<option value='6'>Sixth Option</option>
<option value='7'>Seventh Option</option>
<option value='8'>Eighth Option</option>
<option value='9'>Ninth Option</option>
<option value='10'>Tenth Option</option>
<option value='11'>First Option</option>
<option value='12'>Second Option</option>
<option value='13'>Third Option</option>
<option value='14'>Fourth Option</option>
<option value='15'>Fifth Option</option>
<option value='16'>Sixth Option</option>
<option value='17'>Seventh Option</option>
<option value='18'>Eighth Option</option>
<option value='19'>Ninth Option</option>
<option value='20'>Tenth Option</option>
<option value='21'>First Option</option>
<option value='22'>Second Option</option>
<option value='23'>Third Option</option>
<option value='24'>Fourth Option</option>
<option value='25'>Fifth Option</option>
<option value='26'>Sixth Option</option>
<option value='27'>Seventh Option</option>
<option value='28'>Eighth Option</option>
<option value='29'>Ninth Option</option>
<option value='30'>Tenth Option</option>
</select>
上面的代码是从这里How do you limit options selected in a html select box?
+0
我可以在java脚本中做同样的事吗?目前我不在我的应用程序的任何地方使用jquery,所以我不想使用它。 –
2
0
我创建仅选择值
例如:http://jsfiddle.net/kevalbhatt18/yYW89/1468/
<select onchange="myFunction()" id="selectNumber">
<option >Choose a number</option>
</select>
<script>
var t = [];
function myFunction() {
var select = document.getElementById("selectNumber");
var selectedString = select.options[select.selectedIndex].value;
if (t.length < 10) {
t.push(selectedString)
} else {
return
}
console.log(t)
}
</script>
对于下拉填充
var select = document.getElementById("selectNumber");
var options = ["1", "2", "3", "4", "5","6","7","8","9","10","11"];
for(var i = 0; i < options.length; i++) {
var opt = options[i];
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
select.appendChild(el);
}
0
JavaScript解决方案之
function checkSelected(el) {
var opts = document.getElementsByTagName("option");
var cnt = 0;
for (var i = 0; i < opts.length; i++) {
if (opts[i].selected == true) {
cnt++;
if (cnt > 10) {
opts[i].selected = false;
opts[i].disabled = true;
}
opts[i].disabled = false;
}
}
}
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<select multiple id="s" onchange="checkSelected(this);" style="height: 200px;width : 200px;">
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
<option>Option 5</option>
<option>Option 6</option>
<option>Option 7</option>
<option>Option 8</option>
<option>Option 9</option>
<option>Option 10</option>
<option>Option 11</option>
<option>Option 12</option>
<option>Option 13</option>
<option>Option 14</option>
<option>Option 15</option>
<option>Option 16</option>
<option>Option 17</option>
<option>Option 18</option>
<option>Option 19</option>
<option>Option 20</option>
<option>Option 21</option>
<option>Option 22</option>
<option>Option 23</option>
<option>Option 24</option>
<option>Option 25</option>
<option>Option 26</option>
<option>Option 27</option>
<option>Option 28</option>
<option>Option 29</option>
<option>Option 30</option>
</select>
相关问题
- 1. 如何在动态下拉列表中选择一个元素?
- 2. 从下拉列表中选择元素
- 3. 下拉列表显示所有元素,但禁用选择
- 4. 选择下拉列表元素
- 5. 选择下拉列表html
- 6. 如何在此HTML中选择下一个“选择”(下拉列表)?
- 7. Zend的元素 - 如何禁用特定的选择/下拉列表
- 8. 选择后删除下拉列表中的元素
- 9. 如何使用硒选择自定义下拉列表元素
- 10. 下拉列表选择值禁用
- 11. 下拉选择条目选择HTML表单元素
- 12. HTML + JavaScript的:如何禁用某些condtition在下拉列表为空选项
- 13. Python selenium从下拉列表中选择第一个元素
- 14. 如何使Yii2中的下拉列表选择值被禁用?
- 15. 在另一个下拉列表中禁用某些条件下拉列表
- 16. HTML下拉列表中选择
- 17. HTML下拉列表中选择价值
- 18. 如何链接列表元素与选择下拉
- 19. AngularJS:限制下拉列表中的选择(使用angularMultipleSelect)
- 20. 如何使用javascript在另一个下拉列表中选择下拉选项
- 21. JavaScript - 强制选择元素下拉?
- 22. 如何使选择元素下拉?
- 23. 使用java从下拉列表中选择元素
- 24. 无法使用selenium webdriver从下拉列表中选择元素
- 25. 如何在硒中选择下拉列表中的元素(数据在div内)
- 26. 功能,在 “选择” 元素下拉菜单选项的列表
- 27. 如何限制下拉列表更改而不禁用它
- 28. 在HTML选择下拉选项中设置下拉元素的宽度
- 29. jqGrid选择下拉元素
- 30. 根据栏中的上述下拉列表的选择禁用下拉列表
向我们展示你尝试过什么。您的代码。 [这](https://dropdown-check-list.googlecode.com/svn/trunk/doc/dropdownchecklist.html)可以帮助你 –