Javascript 将单选按钮选择上的输入文本更改为不同形式
当按下单选按钮时,我试图更改输入文本 表单本身有5个选项,带有多个单选按钮和输入文本 我试图改变的输入文本是不同的形式,因为当改变主形式的输入文本时,它应该改变另一种形式的输入文本 我现在有这个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); }); })
$(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);
});
});