以相同的形式将值(是或否)传递给单选按钮
Pass value (yes or not) to radio button in same form
在我的 (gravityform) 中,我有两个字段,一个单选按钮或复选框和一个数字字段。
我想根据数字字段将一个值(是或否)传递给单选按钮,所以如果我用小于默认值的数字填充它,例如 10 ,我会选择单选按钮的复选框"yes" 或 "not"。
不管这是否可能在提交之前或之后。
非常感谢。
这是一个非常基本的演示,用于说明您要执行的操作:
基本思路是查看输入字段中的值并相应地选中或取消选中单选按钮。
您应该为数字输入注册一个事件处理程序。
纯JS解决方案:
var radioYes = document.getElementById("choice_1_49_0"),
radioNo = document.getElementById("choice_1_49_1"),
valueToCheck = 10;
document.getElementById("input_1_38").addEventListener("change", function() {
if (+this.value > valueToCheck)
radioYes.checked = true;
else
radioNo.checked = true;
}, false);
编辑:根据您的标记更新了代码。
使用名为 "keyup" 的事件,您可以根据该事件更改单选按钮的值。试试下面的代码:
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.3.js" integrity="sha256-laXWtGydpwqJ8JA+X9x2miwmaiKhn8tVmOVEigRNtP4=" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
$("#numbervalue").on("propertychange change keyup", function() {
var val = $("#numbervalue").val();
if (val > 10) {
$("#one").prop("checked", false);
$("#two").prop("checked", true);
} else {
$("#one").prop("checked", true);
$("#two").prop("checked", false);
}
});
});
</script>
</head>
<body>
<form action="">
Number:
<br>
<input type="number" name="numbervalue" id="numbervalue" value="10">
<br>
<br>Value is more than 10 ?
<br>
<input type="radio" name="truth" id="one" value="0" checked>No
<br>
<input type="radio" name="truth" id="two" value="1">Yes
<br>
</form>
</body>
</html>
好的谢谢,这成功了,太棒了!!
<script>
$(document).ready(function() {
$("#input_1_38").on("propertychange change keyup", function() {
var val = $("#input_1_38").val();
if (val > 6575) {
$("#choice_1_49_0").prop("checked", false);
$("#choice_1_49_1").prop("checked", true);
} else {
$("#choice_1_49_0").prop("checked", true);
$("#choice_1_49_1").prop("checked", false);
}
});
});
</script>
在我的 (gravityform) 中,我有两个字段,一个单选按钮或复选框和一个数字字段。 我想根据数字字段将一个值(是或否)传递给单选按钮,所以如果我用小于默认值的数字填充它,例如 10 ,我会选择单选按钮的复选框"yes" 或 "not"。 不管这是否可能在提交之前或之后。
非常感谢。
这是一个非常基本的演示,用于说明您要执行的操作:
基本思路是查看输入字段中的值并相应地选中或取消选中单选按钮。
您应该为数字输入注册一个事件处理程序。
纯JS解决方案:
var radioYes = document.getElementById("choice_1_49_0"),
radioNo = document.getElementById("choice_1_49_1"),
valueToCheck = 10;
document.getElementById("input_1_38").addEventListener("change", function() {
if (+this.value > valueToCheck)
radioYes.checked = true;
else
radioNo.checked = true;
}, false);
编辑:根据您的标记更新了代码。
使用名为 "keyup" 的事件,您可以根据该事件更改单选按钮的值。试试下面的代码:
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.3.js" integrity="sha256-laXWtGydpwqJ8JA+X9x2miwmaiKhn8tVmOVEigRNtP4=" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
$("#numbervalue").on("propertychange change keyup", function() {
var val = $("#numbervalue").val();
if (val > 10) {
$("#one").prop("checked", false);
$("#two").prop("checked", true);
} else {
$("#one").prop("checked", true);
$("#two").prop("checked", false);
}
});
});
</script>
</head>
<body>
<form action="">
Number:
<br>
<input type="number" name="numbervalue" id="numbervalue" value="10">
<br>
<br>Value is more than 10 ?
<br>
<input type="radio" name="truth" id="one" value="0" checked>No
<br>
<input type="radio" name="truth" id="two" value="1">Yes
<br>
</form>
</body>
</html>
好的谢谢,这成功了,太棒了!!
<script>
$(document).ready(function() {
$("#input_1_38").on("propertychange change keyup", function() {
var val = $("#input_1_38").val();
if (val > 6575) {
$("#choice_1_49_0").prop("checked", false);
$("#choice_1_49_1").prop("checked", true);
} else {
$("#choice_1_49_0").prop("checked", true);
$("#choice_1_49_1").prop("checked", false);
}
});
});
</script>