JavaScript代码不工作
我试图控制下拉菜单的功能,规则如下JavaScript代码不工作,javascript,Javascript,我试图控制下拉菜单的功能,规则如下 不能同时勾选两个框 如果仅选择一个框,则下拉列表应可编辑,否则应为只读 勾选“否”时,下拉列表应变为只读 勾选一个框时,下拉列表应可编辑(无论勾选哪个框) 问题是,当我勾选一个框时,它将变为可编辑框,但当我选择第二个框时,它将变为禁用框,即下拉框 只要一个框被取消勾选(两个框都必须取消勾选),向下应该始终是可编辑的 那么,是否应禁用下拉菜单 <html> <head> <script type="text/javasc
- 不能同时勾选两个框
- 如果仅选择一个框,则下拉列表应可编辑,否则应为只读
- 勾选“否”时,下拉列表应变为只读
- 勾选一个框时,下拉列表应可编辑(无论勾选哪个框)
<html>
<head>
<script type="text/javascript">
function myFunction() {
if (document.getElementById("1").disabled == false) {
document.getElementById("10").disabled = true;
//set default
document.getElementById("10").value = "OptionOne"
//first drop down
document.getElementById("1").disabled = true;
//set default
document.getElementById("1").value = "ReasonOne"
} else {
document.getElementById("1").disabled = false;
}
}
</script>
<script type="text/javascript">
var previousCheckId;
function toggle(chkBox) {
if (chkBox.checked) {
if (previousCheckId) {
document.getElementById(previousCheckId).checked = false;
}
previousCheckId = chkBox.getAttribute('id');
}
}
</script>
</head>
<body>
<input type="checkbox" id="chkBox100" onClick="myFunction();toggle(this);"/>
<input type="checkbox" id="chkBox121" onClick="myFunction();toggle(this);"/>
<select disabled id="1" >
<option value="OptionOne">First Option</option>
<option value="OptionTwo">Second Option</option>
</select>
<select disabled id="10" >
<option value="ReasonOne">First Option</option>
<option value="ReasonTwo">SecondOption</option>
</select>
</body>
</html>
函数myFunction(){
if(document.getElementById(“1”).disabled==false){
document.getElementById(“10”).disabled=true;
//设置默认值
document.getElementById(“10”).value=“OptionOne”
//第一个下拉列表
document.getElementById(“1”).disabled=true;
//设置默认值
document.getElementById(“1”).value=“ReasonOne”
}否则{
document.getElementById(“1”).disabled=false;
}
}
var-previousCheckId;
功能切换(chkBox){
如果(chkBox.checked){
如果(先前的检查ID){
document.getElementById(previousCheckId).checked=false;
}
previousCheckId=chkBox.getAttribute('id');
}
}
第一选择
第二种选择
第一选择
第二选择
您的意思是这样的吗,还是希望每个盒子都分开?
你的问题描述得很糟糕。但作为一个额外的信息:如果你想阅读复选框值,你应该得到复选框值,而不是监控选项菜单的状态
<html>
<head>
<script type="text/javascript">
function myFunction() {
if (document.getElementById("chkBox100").checked) {
//first drop down
document.getElementById("1").disabled = false;
//set default
document.getElementById("1").value = "ReasonOne"
} else {
document.getElementById("1").disabled = true;
}
if (document.getElementById("chkBox121").checked) {
//second drop down
document.getElementById("10").disabled = false;
//set default
document.getElementById("10").value = "ReasonOne"
} else {
document.getElementById("10").disabled = true;
}
}
</script>
<script type="text/javascript">
function toggle1() {
if (document.getElementById("chkBox100").checked) {
document.getElementById("chkBox121").checked = false;
}
}
function toggle2() {
if (document.getElementById("chkBox121").checked) {
document.getElementById("chkBox100").checked = false;
}
}
</script>
</head>
<body>
<input type="checkbox" id="chkBox100" onClick="toggle1();myFunction();"/>
<input type="checkbox" id="chkBox121" onClick="toggle2();myFunction();"/>
<select disabled id="1" >
<option value="OptionOne">First Option</option>
<option value="OptionTwo">Second Option</option>
</select>
<select disabled id="10" >
<option value="ReasonOne">First Option</option>
<option value="ReasonTwo">SecondOption</option>
</select>
</body>
</html>
函数myFunction(){
if(document.getElementById(“chkBox100”).选中){
//第一个下拉列表
document.getElementById(“1”).disabled=false;
//设置默认值
document.getElementById(“1”).value=“ReasonOne”
}否则{
document.getElementById(“1”).disabled=true;
}
if(document.getElementById(“chkBox121”).选中){
//第二个下拉列表
document.getElementById(“10”).disabled=false;
//设置默认值
document.getElementById(“10”).value=“ReasonOne”
}否则{
document.getElementById(“10”).disabled=true;
}
}
函数切换1(){
if(document.getElementById(“chkBox100”).选中){
document.getElementById(“chkBox121”).checked=false;
}
}
函数切换2(){
if(document.getElementById(“chkBox121”).选中){
document.getElementById(“chkBox100”).checked=false;
}
}
第一选择
第二种选择
第一选择
第二选择
函数myFunction(){
if(document.getElementById(“chkBox100”).选中){
document.getElementById(“1”).disabled=false;
document.getElementById(“10”).value=“ReasonOne”;
document.getElementById(“10”).disabled=true;
}
if(document.getElementById(“chkBox121”).选中){
document.getElementById(“10”).disabled=false;
document.getElementById(“1”).value=“OptionOne”;
document.getElementById(“1”).disabled=true;
}
}
第一选择
第二种选择
第一选择
第二选择
您应该对问题标题进行更详细的描述。上面的代码按照您的预期工作。我用单选按钮代替复选框,因为,嗯,这就是它们的用途。一次只能选择一个单选按钮。我们只有一个函数,每次选中其中一个单选按钮时都会调用它,它只需检查选中的单选按钮,并基于此应用一些规则。如果您有问题,请告诉我,如果这回答了您的问题,请不要忘记接受答案。使用复选框的原因是,您可以禁用这两个选项框并发送自定义值。对于单选按钮,您总是选择其中一个按钮,并且必须从选项中做出决定。
<html>
<head>
<script type="text/javascript">
function myFunction() {
if(document.getElementById("chkBox100").checked){
document.getElementById("1").disabled = false;
document.getElementById("10").value = "ReasonOne";
document.getElementById("10").disabled = true;
}
if(document.getElementById("chkBox121").checked){
document.getElementById("10").disabled = false;
document.getElementById("1").value = "OptionOne";
document.getElementById("1").disabled = true;
}
}
</script>
</head>
<body>
<form id="radioButtons">
<input type="radio" name="buttons" id="chkBox100" onClick="myFunction();"/>
<input type="radio" name="buttons" id="chkBox121" onClick="myFunction();"/>
</form>
<select disabled id="1" >
<option value="OptionOne">First Option</option>
<option value="OptionTwo">Second Option</option>
</select>
<select disabled id="10" >
<option value="ReasonOne">First Option</option>
<option value="ReasonTwo">SecondOption</option>
</select>
</body>