如何禁用选择中的错误选项取决于所选选项
How disable wrong options in selects depend on selected option?
我想创建一个简单的数学练习js脚本。
例如:给出总和 (=10),有四个选择,数字从 0 到 10。如果我选择一个数字,我应该禁用错误的选项。我的意思是,所选选项的总和不能大于 10。
我尝试了这种方式:点击这里
$(document).on("change", "select.number", function(){
var sum = 10;
var number = $(this).children("option:selected").val();
var sum_number = 0;
$("select.number option:selected").each(function(){
sum_number = parseInt($(this).val(),10) + parseInt(sum_number,10);
});
$("select.number option").attr("disabled", false);
if(sum_number>0){
var act_person = act_max_person = 0;
$("select.number").each(function(){
$(this).children("option:not(:first)").each(function(){ // first is 0
if(parseInt($(this).val(),10) + parseInt(sum_number,10) > sum) $(this).attr("disabled", true);
});
});
}
});
但它远非完美...
尝试
$(document).on("change", "select.number", function () {
var sum = 10;
var number = $(this).children("option:selected").val();
var sum_number = 0;
$("select.number option:selected").each(function () {
sum_number += parseInt($(this).val(), 10);
});
$('select.number option').prop('disabled', false);
if (sum_number > 0) {
var diff = sum - sum_number;
$('select.number').each(function () {
var idx = parseInt($(this).val(), 10) + diff + 1;
$(this).find('option').slice(idx).prop('disabled', true)
})
}
});
演示:小提琴
相关文章:
- 表单上预先选择的选项取决于您的链接'We’’’’来自
- 显示/隐藏下拉选项取决于另一个下拉选择
- Mozilla”;添加“;sdk,简单的pref模块,动态选项(取决于以前选项的选项)
- 取决于更改标签的下拉选项
- 菜单选项卡选择/活动样式取决于url中的file.php、javascript函数
- 列数的选项取决于屏幕分辨率
- 如何禁用选择中的错误选项取决于所选选项
- 要重定向的页面取决于多个“选择”选项
- 下拉框取决于在另一个下拉框中选择的选项
- 如何排列所选选项取决于用户选择
- 隐藏/显示的最佳方法取决于jQuery的选择选项
- (多选)排列选项取决于用户的选择
- 自定义选项值取决于屏幕尺寸
- 动态隐藏选择框中的选项(取决于第一个选择的值)
- Img源更改取决于从select中选择的选项
- 重定向提交按钮取决于选项
- 导航到URL取决于哪个<选项>在& lt; select>在javascript中选择
- 隐藏/显示下拉菜单取决于另一个选项
- ASP.. NET下拉列表选项取决于其他下拉列表中选择的选项
- 如何禁用(或改变颜色)第二个下拉选项取决于第一个选择