javascript - 根据隐藏字段中的值隐藏文本字段,该隐藏字段由 javascript 自动填充

标签 javascript jquery html css forms

我这里有个奇怪的问题。我基本上有一个表单,其中有一个用于输入卡号的字段。根据卡号,java 脚本会自动检测卡类型(maestro,或 visa 或其他)。假设 javascript 检测到的卡号是“maestro” , 它会将此值添加到表单中的隐藏字段。

现在我想要的是另一个 javascript,它检测隐藏字段中的值(它的 id="ccType" 并且应该用 id="cvv" 隐藏一个文本字段>

$('#ccType').change(function(){
    if($(this).val() == 'maestro')
        $('#cvv').closest('.name').hide(); 
    else
        $('#cvv').closest('.name').show();
});

我试过的这个 javascript 确实有效,如果隐藏字段(id='ccType' 没有隐藏)并且我手动输入值“maestro”,它隐藏了 cvv 字段.But 而不是手动输入 ccType,正如我之前所说,我有一个自动检测卡类型并填充 id=ccType 字段的 javascript。但是上面的代码不起作用。只有当我手动向 ccType 字段添加一个值,当该字段失去焦点时,cvv 被隐藏,否则不会!

当自动检测/自动填充 javascript 自动填充 ccType 字段时,我找不到其他方法来隐藏 cvv。

我这里有 fiddle http://jsfiddle.net/y8UKN/5/ .我已经给出了两个脚本,一个自动填充的脚本和一个用于隐藏 cvv 的脚本(它不起作用 :D )

为简单起见,我删除了 ccType 字段的“隐藏”属性,以便您可以看到其中的值。尝试用以“6”开头的数字填充卡号,它将检测到 maestro,并且该字段将是已填充且此值“maestro”应隐藏 ccv。

我知道这可能是一个令人困惑的问题。但我已尽最大努力提供清晰的图片并制作了一个工作 fiddle 。等待尽快回复。

谢谢

最佳答案

我从您的问题中了解到,当您隐藏 Field 时,它不会触发更改事件。

尝试像这样手动触发你的更改事件

$( "#ccType" ).trigger( "change" );

当您设置隐藏字段值时,之后添加此代码行

编辑

在此处添加上一行

if($(".cards li:not('.off')").length == 1){
       $('#ccType').val($(".cards li:not('.off')").attr('class'));
       $( "#ccType" ).trigger( "change" );
}

关于javascript - 根据隐藏字段中的值隐藏文本字段,该隐藏字段由 javascript 自动填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20486386/

相关文章:

javascript - Meteor 表模板未填充

javascript - 使用 js 或 jquery 将文本从 iFRAME 传输到文本区域

javascript - get 使用帐户/个人资料照片 onedrive/microsoft API

html - Twitter Bootstrap - 仅限移动版本?

javascript - 如何获取 svgElement 的比例?

javascript - 从 phantomjs 打印 pdf 时出现空格

javascript - 动态加载vue组件和资源到浏览器中

javascript - $.getJSON 数据放入数组

javascript - `browser default behavior` 会被 `event.preventDefault()` 阻止的一些示例是什么?

javascript - jQuery 获取许多具有相同类的对象并在它们之间切换