隐藏输入字段并使用jQuery将它们作为3个单独的输入字段,并将值放在一个字段中

时间:2013-07-25 08:39:33

标签: jquery validation input append hide

由于验证问题,我不希望通过input fields添加3 HTML来执行此操作。这就是我采用jQuery方法的原因,但我无法让它发挥作用。我已将代码放入jSFiddle - > http://jsfiddle.net/qV8Cc/,我希望有人可以帮助我。

我想要的是:你现在有1个输入字段。用户不能看到这个(这就是为什么我把它隐藏起来)。我希望他们看到的是3个独立的输入字段,而不是并排。我使用了hide并附加了这个,但我无法让它工作。因为我只验证了一个输入字段(我们隐藏的第一个字段),我想要在其他3个字段中写入的值,转到隐藏的输入字段。有人可以帮我解决这个问题吗?

以下是代码:

$().ready(function(e){
$('.classnameofmyinputfield').hide();
$('.classnameofmyinputfield').parent.append('<input classname><input classname><input classname>');
$('.classnameofmyinputfield').blur(function(e){
    var input = $(this);
    $('.classnameofmyinputfield').val($('.classname').val()+$('.classname').val()+$('.classname').val());


})


});

2 个答案:

答案 0 :(得分:1)

试试这个

$(document).ready(function(e){
    $('#profiel_rekeningnummer').parent().append('<input name="field1" id="field1" class="field"/><input name="field2" id="field2" class="field"/><input name="field3" id="field3" class="field"/>');

    $('.field').blur(function(e){
   $('#profiel_rekeningnummer').val($('#field1').val()+$('#field2').val()+$('#field3').val());
        alert($('#profiel_rekeningnummer').val());
    });
});

EXAMPLE

答案 1 :(得分:1)

您需要以下内容代替blur方法:

$('input.classname').blur(function() {
    var $hiddeninput = $('.classnameofmyinputfield');
    $hiddeninput .val(''); // clear the hidden field
    $('input.classname').each(function() {
        $hiddeninput .val(hiddeninput.val() + $(this).val()); // add value from each of the 3 shown input fields
    });
});