0

我有 3 个字段中的 4 个字段是接受字符和一个接受数字(4 个字段中的第一个字符字段和最后一个数字字段是强制性的,其余字段是可选的)无论他们在四个字段中输入什么数据,它都应该显示在结果字段中.

在数字字段中听到他们输入的任何数字应该转换为一些常见字符,即如果他们输入“3”应该显示为“NNN”

i will give one eg: 

1Field = BB 
2Field = CC
3Field = AA
4Field = 3

结果 = 'BBCCAANNN'

HTML:

<input name="a" id="textBoxt1" ></input>
<input name="b" id="textBoxt1" ></input>
<input name="c" id="textBoxt1" ></input>
<input name="d" id="textBoxt1" ></input>
<input name="result" id="result"></input>

查询:

$(document).ready(function () {
    $('[id^="textBox"]').keyup(function(){
        var result = '';
        $('[id^="textBox"]').each(function(){
            var count = parseInt($(this).val(),10) || 0;
            result += Array(count+1).join($(this).val()); 
        });
        $('#result').val(result);
    });
});

我想我可以使用这个将第四个字段值转换为字符:

     result += Array(count+1).join($(this).data('char')); // in JQUERY

and in HTML 

<input name="d" id="textBoxt1" data-char="N" ></input>

但它不能正常工作,我该怎么做。任何帮助将不胜感激谢谢。

4

1 回答 1

0

试试他的http://jsfiddle.net/pE5wS/

var comm="N";
$(document).ready(function () {
    $('[id^="textBox"]').keyup(function(){
        var result = '';
        $('[id^="textBox"]:lt(3)').each(function(){
            result += $(this).val(); 
        });
         $('[id^="textBox"]:eq(3)').each(function(){
            var cnt=$(this).val();
             while(cnt!=0)
             {result += comm; 
              cnt--;
             }
        });
        $('#result').val(result);
    });
});
于 2013-10-24T09:54:54.943 回答