jquery将数据传递给函数

时间:2013-10-03 17:01:10

标签: javascript jquery

我一直在努力解决问题,我认为这很简单,但我无法解决。你能告诉我如何在当前的例子中将数据传递给我的函数。

情况如下

我使用按钮生成新的表单元素。但我想添加计算新textareas字数的功能,目前我能够使它适用于第一个输入。

HTML

<textarea class="cTxtW-<?php echo $k;?>" type="text" placeholder="50 word description"></textarea>
   <p id="count-<?php echo $k;?>"></p>
   <script>
      $( ".cTxtW-<?php echo $k;?>" ).keyup(function count('.cTxtW-<?php echo $k;?>', 'count-<?php echo $k;?>'));
   </script>

页面顶部是我的javascript

<script type="text/javascript">

function count(txt, cnt){ 
    var txtVal = $(txt).val();
    var words = txtVal.trim().replace(/\s+/gi, ' ').split(' ').length;
    var chars = txtVal.length;
    if(chars===0){words=0;}
    $(cnt).html(words+' words');
}

</scirpt>

我使用以下代码添加新字段

var addDivS = $('#addServ');
    var k = parseInt($("#lS").attr('rel'))+1;
    $('#addNewServ').on('click', function() {
        if(k<=5){
            var inputsS = '<textarea name="servTxt[]" style="margin:10px 0 0 0;width:560px;height:60px;" class="inpt cTxtW-'+k+'" type="text" placeholder="50 word description"></textarea><p id="count-'+k+'"></p>'
            $(inputsS).appendTo(addDivS);
        k++;}else alert('Maximum number of contacts reached.')
    return false;
    });

所以我的问题是 - 如何根据新生成的textarea字段显示我的字数?

1 个答案:

答案 0 :(得分:0)

这应该有用......

<script>
    $( ".cTxtW-<?php echo $k;?>" ).keyup(function () {
        count('.cTxtW-<?php echo $k;?>', 'count-<?php echo $k;?>');
    });
</script>

您将count函数的结果作为keyup的事件处理程序传递。通过将它放在一个匿名函数中,它只会在偶数发生时运行它。