0
A
回答
1
據我所知,在HTML中沒有辦法做到這一點,並在JavaScript中檢查可能是相當複雜的。
個人而言,我只是驗證它在服務器端。例如,在PHP:
if(count($_POST['myselect']) > 3) die("You selected too many options");
編輯:一個JavaScript的解決方案:
// HTML: <select multiple data-max="3">
(function() {
var tmp, qsa, l, i, handler, evt;
if(document.body.attachEvent) {
handler = "attachEvent";
evt = "onclick";
}
else {
handler = "addEventListener";
evt = "click";
}
if(document.querySelectorAll) {
qsa = document.querySelectorAll('select[multiple][data-max]');
}
else {
tmp = document.getElementsByTagName('select');
l = tmp.length;
qsa = [];
for(i=0; i<l; i++) {
if(tmp[i].hasAttribute("multiple") && tmp[i].hasAttribute("data-max"))
qsa.push(tmp[i]);
}
}
l = qsa.length;
for(i=0; i<l; i++) {
qsa[i][handler](evt,function() {
var opts, l, i, c, m;
opts = this.options;
l = opts.length;
m = parseInt(this.getAttribute("data-max"),10);
c = 0;
for(i=0; i<l; i++) {
if(opts[i].selected) c++;
if(c > m) {
alert("You may only select up to "+m+" options.");
return false;
}
}
});
}
})();
我不是100%肯定它會工作,因爲我沒有測試它,但它讓您瞭解JavaScript解決方案有多惱人。
0
這裏HS基本的HTML和JS與jQuery
<select name="x" id="mySelect" multiple="multiple" size="11">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
<option value="e">e</option>
<option value="f">f</option>
<option value="g">g</option>
<option value="h">h</option>
<option value="i">i</option>
<option value="j">j</option>
<option value="k">k</option>
</select>
if($("#mySelect :selected").length>3){
alert("Warning");
return false;
}
相關問題
- 1. HTML多選擇限制
- 2. Django - 限制選擇字段的選擇
- 3. 限制選擇選項
- 4. 限制選擇複選框
- 5. 選擇與限制
- 6. HTML選擇+可選選項的數量限制
- 7. 限制選擇onclick事件
- 8. 限制選擇到foreginkey
- 9. Unity3d AppRequest限制選擇
- 10. 限制選擇基於組
- 11. 選擇限制百分比
- 12. 限制文本選擇區
- 13. 限制ForeignKey的選擇
- 14. mysql選擇內部限制
- 15. 限制多個選擇
- 16. MySQL的子選擇限制
- 17. 可選擇的限制
- 18. 與限制選擇在笨
- 19. SQL限制選擇查詢
- 20. numpy.choose 32選擇限制
- 21. 版本控制;選擇,選擇,選擇!
- 22. Vue.js限制選擇複選框5
- 23. 限制選項中選擇元素
- 24. 複選框選擇的限制
- 25. 如何限制複選框選擇
- 26. HTML選擇選項來選擇
- 27. HTML定製選擇標籤
- 28. 限定選擇
- 29. 限制選擇二至每OPTGROUP一個選擇,在版本多重選擇4.0
- 30. 選擇查詢 - 選擇父權限
使用,如果你想阻止它提交表單前JS,否則,你可以在模型中添加驗證規則。 –
http://stackoverflow.com/questions/9581198/jquery-limit-dropdown-check-list-selects – SuVeRa
首先dropDown列表可以選擇不止一次,Select(多個)標籤可以這樣做,Nothing to用YII(即使在服務器端),去編輯它 – Elbek