[英]How to make select required upon parent option selected with JavaScript or jQuery
I'm trying to make subcategory required only upon PDF option selected from the category select. 我试图只在从类别选择中选择PDF选项时才需要子类别。
I have tried this JavaScript but its not working. 我已经尝试过此JavaScript,但无法正常工作。
function getVal(ele){ var element = document.getElementById("category") ele.value == "pdf" ? element.required =true : element.required =false } getVal(document.getElementById("subcat"))
<select id="category" name="category" required> <option value="">select category</option> <option>doc</option> <option value="pdf">pdf</option> <option>gifs</option> </select> <select id="subcat" name="subcat"> <option value="">select type</option> <option>normal pdf</option> <option>other pdf</option> </select>
But its not working, what am I doing wrong? 但是它不起作用,我在做什么错?
using jQuery: 使用jQuery:
var $category = $("#category") var $subcat = $("#subcat") $category.on('change', function() { $subcat.prop('required', $(this).val() === "pdf") })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select id="category" name="category" required> <option value="">select category</option> <option>doc</option> <option value="pdf">pdf</option> <option>gifs</option> </select> <select id="subcat" name="subcat"> <option value="">select type</option> <option>normal pdf</option> <option>other pdf</option> </select>
With pure JS: 使用纯JS:
var $category = document.querySelector("#category")
var $subcat = document.querySelector("#subcat")
$category.addEventListener('change', function() {
$subcat.required = this.value === "pdf"
})
This runs before the user selected something from the menu. 这在用户从菜单中选择某项之前运行。 Adding a
change
event listener to the select will do it. 将
change
事件侦听器添加到选择中即可。 Also, you're mixing up ele
and element
. 另外,您正在混合
ele
和element
。
function getVal(ele) {
ele.addEventListener('change', function() {
var element = document.getElementById("category")
element.value == "pdf" ? ele.required = true : ele.required = false
})
}
getVal(document.getElementById("subcat"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.