Javascript 当我使用select选项时,如何设置输入值?带if的Java脚本
我有以下脚本:Javascript 当我使用select选项时,如何设置输入值?带if的Java脚本,javascript,select,if-statement,input,Javascript,Select,If Statement,Input,我有以下脚本: <!DOCTYPE html> <HTML> <HEAD> <META charset="UTF-8"> <SCRIPT src="scripts2.js"></SCRIPT> </HEAD> <BODY> <FORM> <SELECT name="receipt" onc
<!DOCTYPE html>
<HTML>
<HEAD>
<META charset="UTF-8">
<SCRIPT src="scripts2.js"></SCRIPT>
</HEAD>
<BODY>
<FORM>
<SELECT name="receipt" onchange="set_input_value()">
<OPTION id="P" value="P">P / </OPTION>
<OPTION id="b" value="b">b / </OPTION>
</SELECT>
<INPUT type='text' id='id1' />
</FORM>
</BODY>
</HTML>
我想做点像这样的东西。如果选择选项“P”,则将输入值设置为1。如果我选择选项“b”,则将输入值设置为2
对不起,如果它已经在某处解决了,但我没有找到它。感谢您的帮助。您可以通过在JavaScript中完全创建事件处理程序来保持标记的整洁,还可以使用
此
查找当前选定的值。您应该为您的select
元素提供ID,而不是选项
子元素:
<select id="receipt">
document.getElementById("receipt").onchange = function() {
var input = document.getElementById('id1');
// You could do this. The select box will take on the selected option's value:
// var value = document.getElementById("receipt").value;
// but since `this` already is the select box, you can just do it this way:
var value = this.value;
if (value == "b")
input.value = 2;
}
document.getElementById(“收据”).onchange=function(){
var input=document.getElementById('id1');
//您可以这样做。选择框将采用所选选项的值:
//var值=document.getElementById(“收据”).value;
//但由于“this”已经是选择框,您可以这样做:
var值=此值;
如果(值=“b”)
input.value=2;
}
您需要检查SELECT元素的值。您将通过id获取OPTION元素并检查其值。将其更改为:
<!DOCTYPE html>
<HTML>
<HEAD>
<META charset="UTF-8">
<SCRIPT src="scripts2.js"></SCRIPT>
<SCRIPT type='text/javascript'>
function set_input_value(){
if(document.getElementById('receipt').value=='P'){
document.getElementById('id1').value='1';
}
if(document.getElementById('receipt').value=='b'){
document.getElementById('id1').value='2';
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<SELECT id='receipt' name="receipt" onchange="set_input_value()">
<OPTION id="P" value="P">P / </OPTION>
<OPTION id="b" value="b">b / </OPTION>
</SELECT>
<INPUT type='text' id='id1' />
</FORM>
</BODY>
</HTML>
函数集\输入\值(){
if(document.getElementById('receive')。value='P'){
document.getElementById('id1')。value='1';
}
if(document.getElementById('receive')。值=='b'){
document.getElementById('id1')。value='2';
}
}
P/
b/
遵循使用jQuery的建议。
我把所有的代码
HTML+JQuery:
<!DOCTYPE html>
<html>
<head>
<title>StackTest</title>
</head>
<script src="http://code.jquery.com/jquery-1.11.0.js"></script>
<script>
function changeValue(valor) {
if(valor == 'P') {
$('#text1').val('1');
} else if (valor == 'b') {
$('#text1').val('2');
} else {
$('#text1').val('');
}
}
</script>
<body>
<select id="combo" onchange="changeValue(this.value)">
<option value=""></option>
<option value="P">P /</option>
<option value="b">b /</option>
</select>
<input type="text" id="text1" />
</body>
</html>
堆叠测试
函数更改值(valor){
如果(valor='P'){
$('#text1').val('1');
}否则如果(valor='b'){
$('#text1').val('2');
}否则{
$('#text1').val('');
}
}
P/
b/
应该被标记为javascript
而不是java
。你也应该把你的函数名改成一个更容易接受的名称:set\u input\u value()->setInputValue()@AlexisLeclercset\u input\u value
怎么样?在我看来,这是一个风格决定。它对它的工作方式没有影响。@ScottMermelstein他当然有权拥有自己的命名风格,但人们应该尽可能遵循所用语言的编码约定,就像我可以决定这样写一样,如果我愿意的话,但这看起来会很尴尬!我用一些注释修改了你的代码。如果这是粗鲁的或冒犯性的,请随意回退。
<!DOCTYPE html>
<html>
<head>
<title>StackTest</title>
</head>
<script src="http://code.jquery.com/jquery-1.11.0.js"></script>
<script>
function changeValue(valor) {
if(valor == 'P') {
$('#text1').val('1');
} else if (valor == 'b') {
$('#text1').val('2');
} else {
$('#text1').val('');
}
}
</script>
<body>
<select id="combo" onchange="changeValue(this.value)">
<option value=""></option>
<option value="P">P /</option>
<option value="b">b /</option>
</select>
<input type="text" id="text1" />
</body>
</html>