riku
2024-04-26 5efebb555efd984f3dd35de83e465cd53aaf8175
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
var CheckBox = {
  newCheckBox: function(elementId, list, defaultChecked, callback, that) {
    var check = $('#' + elementId)
    check.empty()
    var onclickListener = function () {
      var checkbox = this
      callback(checkbox, that)
    }
    for (let i = 0; i < list.length; i++) {
      const e = list[i];
 
      var checked = defaultChecked.indexOf(e.value) != -1
      var checkbox = $("<input type='checkbox' id='" + elementId + i + "' value='" + e.value + "' />")
      var label = $("<label for='" + elementId + i + "'>" + e.label + "</label>")
      label.css('margin', '0')
      label.css('margin-left', '4px')
      // label.css('background-color', 'black')
      // checkbox.css('background-color', 'white')
      checkbox.prop('checked', checked)
      checkbox.on('click', onclickListener)
 
      var item = $('<div></div>')
      item.css('padding-right', '0.5rem')
      item.css('display', 'flex')
      item.css('align-items', 'center')
      item.append(checkbox)
      item.append(label)
 
      check.append(item)
    }
  },
 
  /**
   * 刷新复选框组的选择状态
   * @param {*} elementId 
   * @param {*} checkedList 
   */
  refreshCheckBox(elementId, checkedList){
    var checkboxList = $(`#${elementId}`).find('input')
    for (let i = 0; i < checkboxList.length; i++) {
      const box = checkboxList[i];
      const value = $(box).prop('value')
      $(box).prop('checked', checkedList.indexOf(parseInt(value)) != -1)
    }
  },
 
  newRadioBox: function(elementId, name, list, defaultChecked, callback, that) {
    var radioboxlist = []
    var radio = $('#' + elementId)
    radio.empty()
    var onclickListener = function () {
      var radiobox = this
      callback(radiobox, that)
    }
    for (let i = 0; i < list.length; i++) {
      const e = list[i];
      var checked = defaultChecked.indexOf(e.value) != -1
      var radiobox = $("<input type='radio' name='" + name + "' id='" + "r-" + elementId + "_" + i + "' value='" + e.value + "," + e.name + "'/>")
      var label = $("<label for='" + "r-" + elementId + "_" + i + "'>" + e.label + "</label>")
      label.css('margin', '0')
      label.css('margin-left', '4px')
      // label.css('background-color', 'black')
      // radiobox.css('background-color', 'white')
      radiobox.prop('checked', checked)
      radiobox.on('click', onclickListener)
      radioboxlist.push(radiobox)
 
      var item = $('<div></div>')
      item.css('padding-right', '0.5rem')
      item.css('display', 'flex')
      item.css('align-items', 'center')
      item.append(radiobox)
      item.append(label)
 
      radio.append(item)
    }
  }
}