2017-09-23 98 views
1

我有一個結果列表。在這些結果中,每個都包含<textarea>。 (多個文本域)jquery textarea選擇器問題

<textarea class="form-control smstext" 
      data-sms="<?php echo"$id"; ?>" 
      name="sms-<?php echo"$id"; ?>" 
      id="sms-<?php echo"$id"; ?>" 
      onkeyup="checkSmsText();" 
      onchange="checkSmsText();"> 
</textarea> 

我有問題得到data-sms -attribute的值,並作爲結果,$id數。

的jQuery:

function checkSmsText() { 
    var elem = $(this); 
    var id = elem.attr('data-sms'); 
    console.log(id); 
    sms = $('#sms-' + id).val(); 
    console.log(sms); 
} 

我試過多種選擇知道我,沒有一個成功的。任何建議請。

+0

您可以檢查,並檢查是否'數據短信=「< ?php echo「$ id」;?>「HTML中的data-sms的值有空格嗎? – RRK

+0

難道你不能只使用'$(this).val()'? – RRK

回答

2
  1. <?php echo"$id"; ?>是錯誤的(語法錯誤)。

添加空間存在,如: -

<?php echo $id; ?> 
  • this作爲對函數的引用,並用它們爲JavaScript代碼。
  • function checkSmsText(elem) { 
     
        var id = $(elem).attr('data-sms');// better to use $(elem).data('sms'); 
     
        console.log(id); 
     
        sms = $(elem).val(); 
     
        console.log(sms); 
     
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <textarea class="form-control smstext" data-sms="1" name="sms-1" id="sms-1" onkeyup="checkSmsText(this);" onchange="checkSmsText(this);"></textarea>

    +2

    完美。謝謝 – Nita

    -1

    使用數據= 「SMS-」 的代替數據短信= 「」

    +4

    歡迎來到StackOverflow並感謝您的幫助。你可能想通過添加一些解釋來讓你的答案更好。 –