Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ID复制单选值,并使用JavaScript将其作为值插入到输入中_Javascript_Html_Input - Fatal编程技术网

使用ID复制单选值,并使用JavaScript将其作为值插入到输入中

使用ID复制单选值,并使用JavaScript将其作为值插入到输入中,javascript,html,input,Javascript,Html,Input,我有一些HTML代码如下: <input name="bid" type="radio" value="1" id="1234"/> <input name="bid" type="radio" value="2" id="5678"/> <input type="text" id="paymount" name="paymount" value=""/> 所需功能: 选中radio=1时,paymount字段值将显示为1234。选中radio=2时,p

我有一些HTML代码如下:

<input name="bid" type="radio" value="1" id="1234"/>
<input name="bid" type="radio" value="2" id="5678"/>
<input type="text" id="paymount" name="paymount" value=""/>

所需功能:

选中
radio=1
时,
paymount
字段值将显示为
1234
。选中
radio=2
时,
paymount
字段值将显示为
5678


我发现了有关堆栈溢出的帖子,但其中很多帖子都与隐藏文本字段有关。

使用更改事件处理程序侦听事件

//使用`[].slice.call(document.querySelectorAll('[name=“bid”]'))
//用于旧浏览器将节点列表转换为数组
//尽管在旧浏览器中选中“ArrayforEach”的polyfill选项
//或者使用simple`for`或`while`循环进行迭代
//使用名称获取所有无线电,将节点列表转换为数组并迭代
数组.from(document.querySelectorAll('[name=“bid”]')).forEach(函数(ele){
//将事件处理程序添加到元素
ele.addEventListener('change',function(){
//更新输入元素的值
document.getElementById('paymount')。value=this.id;
//如果使用的是`data id=“value”属性而不是`id`
//然后使用'this.dataset.id'获取值`
});
});

我不确定这是否是最好的解决方案,但下面的方法可以满足您的需要

var inputs=document.querySelectorAll('input[name=“bid”]”),
paymount=document.getElementById('paymount');
//循环元素,并添加事件侦听器
对于(变量i=0;i


var无线电=document.radioForm.bid,
输入=document.getElementById('paymount');
对于(var i=0;i


收音机功能(一)
{
document.getElementById(“paymount”).value=i;
}

您可以使用JavaScript,通过单选按钮上的onclick事件调用函数,并传递所需的值。

您好,感谢您的awnser,但是
付款
应该是
单选
id
,不是<代码>广播<代码>代码>值<代码>。您应该考虑使用不同于<代码> ID >代码>的属性来存储值,因为“代码> ID <代码>值被禁止以数字开始:Web作者不能使用它来传递任何其他建议的信息吗?谢谢。您可以使用语义id,如
paymount low
paymount high
并使用
值作为数字,也可以定义一个属性,如
data paymount
并将数字存储在那里。@Joshua稍微吹毛求疵:。
<form name="radioForm">
    <input name="bid" type="radio" value="1" id="1234"/>
    <input name="bid" type="radio" value="2" id="5678"/>
    <input type="text" id="paymount" name="paymount" value=""/>
</form>     

<script type="text/javascript">
    var radio = document.radioForm.bid,
        input = document.getElementById('paymount');

    for(var i = 0; i < radio.length; i++) {
        radio[i].onclick = function() {            
            input.value = this.id;
        };
    }
</script>
<script>
    function getradio(i)
    {
        document.getElementById("paymount").value=i;
    }
</script>

<input name="bid" type="radio" value="1" id="1234" onclick="getradio(1234)"/>
<input name="bid" type="radio" value="2" id="5678" onclick="getradio(5678)"/>

<input type="text" id="paymount" name="paymount"/>