0

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

情况如下

我正在使用按钮生成新的表单元素。但我想为新的文本区域添加计算字数的功能,目前我只能让它适用于第一个输入。

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 字段显示我的字数?

4

1 回答 1

0

这应该工作...

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

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

于 2013-10-03T17:03:28.607 回答