2016-11-17 108 views
0

我有這個代碼爲textarea計數。它運行良好,但是一旦我像下面所做的那樣嵌入它,它就不起作用,並且不會引發錯誤。我已經上了3天以上。我會很感激一些幫助。如何添加jquery字數和php代碼之間的限制

<div class="row"> 

    <label for="name" class="control-label"> 
    <?php if(isset($data['career_objective']) && $data['career_objective']!=''){?> 
      <p id="c_obj" class="text-info first " data-type="textarea" name="comments2" onclick="return update('c_obj' ,'career_obj' ,'Career Objective'); "><?php echo $data['career_objective']; ?></p> 
      <br> 
      Word Count : <span id="display_count">0</span> words. Words left : <span id="word_left">50</span> 
    <?php } else { ?> 
      <p id="c_obj" class="text-info first " data-type="textarea" name="comments2" onclick="return update('c_obj' ,'career_obj' ,'Career Objective'); ">Career Profile and Work objectives here. Not more than 50 words.</p> 
    <?php }?> 
    </label> 
<div class="controls"> 
    <a href="#" class="btn pen c_obj1"><span class="glyphicon redcolor first" aria-hidden="true">Edit</span></a> 
</div> </div> 

jQuery的部分

$("#c_obj").on('keyup', function() { 
var words = this.value.match(/\S+/g).length; 
if (words > 50) { 
    // Split the string on first 200 words and rejoin on spaces 
    var trimmed = $(this).val().split(/\s+/, 50).join(" "); 
    // Add a space at the end to make sure more typing creates new words 
    $(this).val(trimmed + " "); 
    alert("You reached your limit of 50 words."); 
} 
else { 
    $('#display_count').text(words); 
    $('#word_left').text(50-words); 
} }); 
+0

是否缺少在$ a '#'( 「c_obj」)?還是它是一個錯字? –

+0

謝謝你好朋友。這是一個錯字。它實際上是$(「#c_obj),但它仍然不起作用 – pimpace

回答

1

從下面的HTML元素的參考,我敢肯定,您使用的是第三方庫創建一個textarea元素以編程方式獲取用戶輸入。

<p id="c_obj" class="text-info first " data-type="textarea" name="comments2" ... 

現在,$('#c_obj').on(..結合在p標籤,而不是你要檢查的字數textarea元素的事件。原因可能是textarea尚不存在,或者在用戶啓動操作後動態創建。

綁定體或母體元件上的事件,而不是和委託keyup事件到目標文本區域。

$(".parent-div").on('keyup', 'textarea', function(e) { ... 

父-DIV的形式可以是元件或最接近的父元素,如果優選的。

看到這裏的示例代碼 - http://codepen.io/chainat/pen/VmmmKg

+0

謝謝Chainat。現在一切都很好。 – pimpace

0

ID必須以#

$("#c_obj").on('keyup', function() {