Javascript 将单选按钮选择上的输入文本更改为不同形式

Javascript 将单选按钮选择上的输入文本更改为不同形式,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,当按下单选按钮时,我试图更改输入文本 表单本身有5个选项,带有多个单选按钮和输入文本 我试图改变的输入文本是不同的形式,因为当改变主形式的输入文本时,它应该改变另一种形式的输入文本 我现在有这个 $(document).ready(function () { $("input[type=radio]").click(function () { $(this).closest('form').find("input[type=text]").val(this.value); }); })

当按下单选按钮时,我试图更改输入文本

表单本身有5个选项,带有多个单选按钮和输入文本

我试图改变的输入文本是不同的形式,因为当改变主形式的输入文本时,它应该改变另一种形式的输入文本

我现在有这个

 $(document).ready(function () {
 $("input[type=radio]").click(function () {
   $(this).closest('form').find("input[type=text]").val(this.value);
});
});
但这会更改当前表单中的输入文本

如何更改第二个表单输入文本

主窗体
ccc

类型:p

类型:l

J aaa
U

bbb 英寸。请使用3位数字

wd 24
22
21
211

t型 33
3"
圣m


mmmf

行政协调会 没有一个
B
bb

输入应更改的第二种形式 模型 A.
$(this).closest()用于查找最近的父元素。它将仅选择作为$(this)元素父元素的元素

您应该为文本输入提供唯一的ID,以便能够轻松识别它们

改变这个-

<input name="selector1" type="text" value="_"   maxlength="3">

为所有窗体上的所有单选按钮创建一个
onchange
函数。将单选按钮的值传递给函数并从函数中获取值

例如:


更改输入的表单是第一个表单, 通过在(最近的(表单))之后添加下一个方法来选择下一个表单 不要忘记表单标签,而且它们必须相邻

$(document).ready(function () {
    $("input[type=radio]").click(function () {
    $(this).closest('form').next() .find("input[type=text]").val(this.value);
        });
    });
代码中的问题:
find(“input[type=text]”.val(this.value);
将为您提供所有的input type=text,并使用
this.value更新所有的input type=text
,您真正想要的是针对特定的元素,所以应该类似于
.find(“input[name=“+this.name+”]][type=text]”)

解决方案: 使用
.find(“输入[name=“+this.name+”][type=text]”)来查找name=“xxxx”和type=text的最后一个元素,这将只返回一个结果,因为组合是唯一的

其思想是针对要更新的单个输入元素,还应该清理代码、属性顺序等,如果不使用id,则删除id

更新:更改输入更新单选按钮

.find(“输入[type=radio][name=“+this.name+”][value=“+this.value+”])

更新文本输入时,您可以将
type=radio
同名
值相同的输入作为目标,然后使用
.prop(“选中”,true)
进行检查

$(文档).ready(函数(){
$(“输入[type=radio]”。单击(函数(){
$(this).closest('body').find(“输入[name=“+this.name+”]”][type=text]”)val(this.value);
});
$(“输入[type=text]”)。在('input',function()上{
$(this).closest('body').find(“输入[type=radio][name=“+this.name+”][value=“+this.value+”])”).prop(“选中”,true);
});
//初始化
$(“输入[type=radio]:选中”)。单击();
});

主要形式
ccc

类型:p

类型:l

J aaa
U

bbb 英寸。请使用3位数字

wd 24
22
21
211

t型 33
3"
圣m


mmmf

行政协调会 没有一个
B
bb

输入应更改的第二种形式 模型 A.
试试这段代码 将公共类添加到每个单选按钮

$(document).ready(function() {
    $('.class_name_of_radio').change(function() {
        $("input[type=text][name="+this.name+"]").val(this.value);
    });
});

我尝试在第二个选项中添加例如selector2,但当我按下单选按钮选项中的1时,它会更改两个输入。。thanks@jodo很高兴为您效劳。您能把它转过来吗?如果我更改第二个表单上的输入文本,它会更改单选按钮吗?再次感谢您谢谢,我被输入文本“selector3”卡住了,当我在主窗体中更改时,它会更改,但当我在@jodo中更改第二个窗体时,它无法更改,带有
$(this.closest('body')。find(“input[type=text][name=“+this.name+”).val(this.value)
Function myChange(myRadioVal)
{
$("#inputTextBoxId").val(myRadioVal);
 //code here
}
$(document).ready(function () {
    $("input[type=radio]").click(function () {
    $(this).closest('form').next() .find("input[type=text]").val(this.value);
        });
    });
$(document).ready(function() {
    $('.class_name_of_radio').change(function() {
        $("input[type=text][name="+this.name+"]").val(this.value);
    });
});