从下拉菜单中创建复选框

时间:2017-02-12 16:51:02

标签: javascript jquery html checkbox drop-down-menu

我已经尝试为我的问题找到一个可行的解决方案,但经过几天的研究后,一个不好的,这就是我寻求帮助的原因。

基本上,我想做的是有一个下拉菜单,里面有几年的组选项。因此,例如,下拉菜单中将包含7年级,8年级9年级等。

一旦他们选择了第7年,系统将只创建一个复选框。对于第8年和第9年,应该创建两个复选框,因为他们可以选择一个或两个主题。

如果未更改下拉菜单,则不应有复选框。

我希望这些都有意义,你们可以给我一个答案。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

有很多Google个答案,十几个jQuery pluginsSO个答案已经被问及并已得到解决。为什么它不适合您或您需要什么?

答案 1 :(得分:0)

那样的话:



print.times = function (x, digits, quote = FALSE, prefix = "", simplify, normalise = TRUE, ...) 
{
  if (normalise) x = x-floor(x)
  if (!as.logical(length(x))) {
    cat("times(0)\n")
    return(invisible(x))
  }
  if (missing(simplify) && is.null(simplify <- getOption("chron.simplify"))) 
    simplify <- FALSE
  xo <- x
  if (all(is.na(x)) || any(x[!is.na(x)] >= 1)) 
    cat("Time in days:\n")
  x <- format.times(x, simplify = simplify)
  NextMethod("print", quote = quote)
  invisible(xo)
}
environment(print.times) <- environment(chron:::print.times)
&#13;
var subjectMap = {
  'Year 7' : ['Maths'],
  'Year 8' : ['Maths', 'English'],
  'Year 9' : ['Maths', 'English', 'French'],
  'Year 10' : ['French', 'History', 'Geography']
}

$( document ).ready(function() {
  for (var year in subjectMap) {
    $('#yearGroup').append($('<option>', {value:year, text:year}));
  }
  
  $('#yearGroup').change(function () {
    var selectedYear = $("#yearGroup option:selected").val();
    $("input:radio[name='subjects']").hide().attr('checked', false);
    $("input:radio[name='subjects']").each(function(){
      $("#label"+ $(this).val()).hide();
    });
    for (var availableSubject in subjectMap[selectedYear]) {
      $("#" + subjectMap[selectedYear][availableSubject]).show();
      $("#" + subjectMap[selectedYear][availableSubject]).each(function(){
        $("#label"+ $(this).val()).show();
      });
    } 
  }).change();
});
&#13;
&#13;
&#13;