我一直在努力解决问题,我认为这很简单,但我无法解决。你能告诉我如何在当前的例子中将数据传递给我的函数。
情况如下
我使用按钮生成新的表单元素。但我想添加计算新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字段显示我的字数?
答案 0 :(得分:0)
这应该有用......
<script>
$( ".cTxtW-<?php echo $k;?>" ).keyup(function () {
count('.cTxtW-<?php echo $k;?>', 'count-<?php echo $k;?>');
});
</script>
您将count函数的结果作为keyup
的事件处理程序传递。通过将它放在一个匿名函数中,它只会在偶数发生时运行它。