Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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
Javascript 如果输入具有特定类别,则需要更改无线电值_Javascript_Jquery_Stripe Payments_Radio - Fatal编程技术网

Javascript 如果输入具有特定类别,则需要更改无线电值

Javascript 如果输入具有特定类别,则需要更改无线电值,javascript,jquery,stripe-payments,radio,Javascript,Jquery,Stripe Payments,Radio,我绝望了。 我正在用Stripe支付插件制作一个信用卡自动系统,但我有点迷路了。无论如何,当信用卡是MasterCard(例如)时,输入的卡号将接收“MasterCard”类-是什么给它一个带有MasterCard标志的背景图像。 但我需要用它来验证无线电输入的价值。这是我的非功能代码: HTML: <input id="numero" type="tel" class="validate" required name="cartaoNumero" disabled='disabled'

我绝望了。
我正在用Stripe支付插件制作一个信用卡自动系统,但我有点迷路了。无论如何,当信用卡是MasterCard(例如)时,输入的卡号将接收“MasterCard”类-是什么给它一个带有MasterCard标志的背景图像。
但我需要用它来验证无线电输入的价值。这是我的非功能代码:

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" />
    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);
    };
例如,当用户使用Mastercard号码时,
#numero
输入接收
Mastercard
类。
即使
#numero
具有不同的类,也不会发生任何事情…

好吧,我知道,这真是一团糟。但我是一个前端程序员,所以。。救命啊

我将首先更改('mouseenter',mudarradio')上的这一行
$('body')

以更改输入框为目标,而不是鼠标进入身体?你这样设置有什么原因吗?试试这个


$('numerio')。在('change',mudarradio')

您已经解释了您需要什么,但还没有解释实际问题,同样在您的
mudarradio
函数中,您绑定了
mouseenter
事件,但是jQuery会在每次函数调用时不断重新绑定该事件,所以我不确定这是否是一个好主意(例如,当将鼠标悬停在地址栏上并返回到网站时,这将复制处理程序)我的问题是,无线电值没有改变。即使当
#numero
有不同的类时,也不会发生任何事情…我将用这些新信息编辑我的问题。这就是你需要的@Igor:那么,将第一个输入类更改为
万事达卡
,然后再次运行代码,你将看到无线电值不会发生任何事情。你需要从val(['mastercard'])和val(['visa'])中删除括号;如val('visa');和val('mastercard'));为了让它工作@IgorIt是一个很好的观点,真的更好,我会更改它。但是我如何解决单选不可更改的值?我不确定通过设置单选按钮的val来实现什么。单选按钮可以选中或取消选中。如果它是我的页面,我会为每个潜在值设置一个单独的单选按钮,然后选择相应的值像这样的单选按钮(“:radio[value=mastercard]”)。prop('checked',true);
相信我,天堂和地球上有比你的哲学中梦想的更多的东西。我根据一些单选按钮制作了一个动画,后端程序员制作了这些单选按钮(其唯一功能是让动画工作)对表单来说是必要的…@godmode:我相信这个评论是给我的:DIdk,我真的很困惑哈哈哈。总之,解决了!!!谢谢你,godmode和阿米特!