1 changed files with 20 additions and 15 deletions
@ -1,22 +1,27 @@ |
|||||||
import { Controller } from "@hotwired/stimulus" |
import { Controller } from "@hotwired/stimulus" |
||||||
|
|
||||||
export default class extends Controller { |
export default class extends Controller { |
||||||
|
initialize() { |
||||||
|
this.displayConditional() |
||||||
|
} |
||||||
|
|
||||||
displayConditional() { |
displayConditional() { |
||||||
let question = this.element.name; |
if(this.element.checked) { |
||||||
let selected = this.element.value; |
let selected = this.element.value |
||||||
let conditional_for = JSON.parse(this.element.dataset.info); |
let conditional_for = JSON.parse(this.element.dataset.info) |
||||||
|
|
||||||
Object.entries(conditional_for).forEach(([key, values]) => { |
Object.entries(conditional_for).forEach(([key, values]) => { |
||||||
let el = document.getElementById(key + "_div"); |
let el = document.getElementById(key + "_div") |
||||||
if(values.includes(selected)) { |
if(values.includes(selected)) { |
||||||
el.style.display = "block"; |
el.style.display = "block" |
||||||
} else { |
} else { |
||||||
el.style.display = "none"; |
el.style.display = "none" |
||||||
let buttons = document.getElementsByName(key) |
let buttons = document.getElementsByName(key) |
||||||
Object.entries(buttons).forEach(([idx, button]) => { |
Object.entries(buttons).forEach(([idx, button]) => { |
||||||
button.checked = false; |
button.checked = false; |
||||||
}); |
}) |
||||||
} |
} |
||||||
}); |
}) |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue