2017-07-31 56 views
1

代碼:如何使用jquery獲取文本字段的val?

<script> 
    $(document).ready(function(){ 
     $(".comments").keyup(function(){ 
      id = this.id; 
      comment = $("#com"+id).val(); 
      alert(comment); 
     }); 
    }); 
</script> 
<?php 
    $this->db->select('*'); 
    $this->db->from('contact'); 
    $where = "admin_id like '%$client_id%'"; 
    $this->db->where($where); 
    $query = $this->db->get(); 
    $result = $query->result_array(); 
    foreach ($result as $fet) 
    { 
?> 
    <tr> 
     <td> 
      <input type="text" name="comments" class="comments" id="com<?php echo $fet['id']; ?>" /> 
     </td> 
     <td> 
      <input type="submit" name="submit" id="submit" value="save" /> 
     </td> 
    </tr> 
<?php 
    } 
?> 

在這段代碼中我有多個文本字段名稱的意見,我想提醒多個註釋文本字段的值。在這裏,當我寫一些東西時,它顯示出我不確定。那麼,如何使用不同的ID獲取評論字段的值?請幫幫我。

謝謝你

+0

你並不需要通過ID去。但是你需要使用'$(this)'而不是'this'。 '$(本).VAL()' – CBroe

回答

1

用這個改變你的keyup事件。 this.id給你com+id其中id你通過php代碼設置。

$(".comments").keyup(function(){ 
     id = this.id; 
     comment = $(this).val(); 
     alert(comment); 
}); 
2

你需要改變,因爲this.id;將返回id,這將是com123,但最重要的是,你又添加com,這將成爲comcom123

 id = this.id; 
     comment = $('#'+id).val(); 

其他替代的解決方案是改爲使用this

0

$(document).ready(function(){ 
 
     $(".comments").keyup(function(){ 
 
      id = $(this).attr('id'); 
 
      comment = $("#"+id).val(); 
 
      alert(comment); 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
    <tr> 
 
     <td> 
 
      <input type="text" name="comments" class="comments" id="com1" /> 
 
     </td> 
 
     <td> 
 
      <input type="submit" name="submit" id="submit" value="save" /> 
 
     </td> 
 
    </tr>

0

只是一味this關鍵字,沒有必要去與id

$(document).ready(function(){ 
 
     $(".comments").keyup(function(){ 
 
      alert($(this).val()); 
 
     }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="text" name="comments" class="comments" id="com1" value="this is comment 1" /> 
 
<input type="text" name="comments" class="comments" id="com2" value="this is comment 2" /> 
 
<input type="text" name="comments" class="comments" id="com3" value="this is comment 3" />

0

所以,如果我理解正確的話,你要提醒各用戶輸入任何東西的時間該特定文本框的值?使用jQuery,這樣的事情應該這樣做:

$("input[name=textbox1]").on("keyup", function() { 
 
window.alert($(this).val()); 
 
}); 
 

 
$("textarea[name=textbox2]").on("keyup", function() { 
 
window.alert($(this).val()); 
 
});
.form-input { 
 
    text-align: center; 
 
    padding: 5px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form method="POST"> 
 
<label>Textbox Example: </label><input type="text" name="textbox1" placeholder="Type Something.." class="form-input" /> <br /> <br /> 
 
<label>Textarea Example:</label> <textarea name="textbox2" placeholder="Type Something.." class="form-input"> </textarea> <br /> <br /> 
 
<input type="submit" name="submit" value="Submit" class="form-input" /> 
 
</form>

相關問題