如果输入具有特定类,则需要更改单选值
Posted
技术标签:
【中文标题】如果输入具有特定类,则需要更改单选值【英文标题】:Need to change radio value if a input has a specific class 【发布时间】:2016-02-20 05:34:48 【问题描述】:我很绝望。 我正在使用 Stripe Payment 插件制作信用卡自动系统,但我有点迷路了。无论如何,当信用卡是万事达卡(例如)时,输入的卡号接收“万事达卡”类 - 给它一个带有万事达卡标志的背景图像。 但我需要用它来判断无线电输入的价值。所以这是我的不起作用的代码:
HTML:
<input id="numero" type="tel" class="validate" required name="cartaoNumero" disabled='disabled' style="transition:none;" />
<input type="radio" id="credito1" name="codigoBandeira" value="visa" />
JQUERY(或尝试):
function mudarradio()
if ($("#numero").hasClass( "visa" ))
$('input:radio[name=codigoBandeira]').val(['visa']);
else if ($("#numero").hasClass( "mastercard" ))
$('input:radio[name=codigoBandeira]').val(['mastercard']);
$('body').on('mouseenter', mudarradio);
;
就像,当用户使用万事达卡号码时,#numero
输入接收mastercard
类。
即使#numero
具有不同的类,也不会发生任何事情...
好的,我知道,这是一团糟。但是我是前端程序员,所以..帮助!!!!
【问题讨论】:
你已经解释了你需要什么,但你还没有解释实际问题,也在你的mudarradio
函数中你绑定mouseenter
事件但是jQuery会继续重新绑定这个每个函数调用所以我'不确定这是否是个好主意(例如,当将鼠标悬停在地址栏上并返回网站时,这将复制处理程序)
我的问题是收音机值没有改变。即使#numero
有不同的课程,也不会发生任何事情......我将使用这些新信息编辑我的问题。
这是你需要的吗@Igor : jsfiddle.net/Hjdnw/1572
所以,将第一个输入类更改为 mastercard
并再次运行代码,您会看到收音机的值没有任何变化。
您需要从 val(['mastercard']); 中删除括号和 val(['签证']);像 val('visa');和 val('万事达卡');让它工作@Igor
【参考方案1】:
我将从更改此行开始$('body').on('mouseenter', mudarradio);
目标是改变输入框,而不是鼠标进入正文?你这样设置有什么原因吗?试试这个
$('#numero').on('change', mudarradio);
【讨论】:
这个点很好,真的更好,我改一下。但是如何解决无线电不变的价值? 我不确定通过设置单选按钮的 val 来实现什么。单选按钮被选中或未选中。如果这是我的页面,我将为每个潜在值设置一个单独的单选按钮,然后选择适当的单选按钮,如$(':radio[value=mastercard]').prop('checked', true);
相信我,天地间的事物比你的哲学梦想的还要多。我根据一些单选按钮制作了一个动画,后端程序员制作了表单所必需的这些单选按钮(其唯一功能是使动画工作)......
@godmode:我相信这个评论是给我的:D
Idk,我真的很困惑哈哈哈。无论如何,解决了!谢谢你,godmode 和 Amit!以上是关于如果输入具有特定类,则需要更改单选值的主要内容,如果未能解决你的问题,请参考以下文章