Tôi cần nối một số văn bản vào trường nhập ...
Tôi cần nối một số văn bản vào trường nhập ...
Câu trả lời:
$('#input-field-id').val($('#input-field-id').val() + 'more text');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="input-field-id" />
$('#input-field-id')
câu trả lời hai lần ... Rất đơn giản mặc dù - 1
innerHTML
.
Có hai lựa chọn. Cách tiếp cận của Ayman là đơn giản nhất, nhưng tôi sẽ thêm một lưu ý cho nó. Bạn thực sự nên lưu vào bộ nhớ cache các lựa chọn jQuery, không có lý do gì để gọi $("#input-field-id")
hai lần:
var input = $( "#input-field-id" );
input.val( input.val() + "more text" );
Tùy chọn khác, .val()
cũng có thể lấy một hàm làm đối số. Điều này có lợi thế là dễ dàng làm việc trên nhiều đầu vào:
$( "input" ).val( function( index, val ) {
return val + "more text";
});
Nếu bạn dự định sử dụng thêm một lần nữa, bạn có thể muốn viết một hàm:
//Append text to input element
function jQ_append(id_of_input, text){
var input_id = '#'+id_of_input;
$(input_id).val($(input_id).val() + text);
}
Sau khi bạn có thể gọi nó:
jQ_append('my_input_id', 'add this text');
Có thể bạn đang tìm kiếm val ()
// Define appendVal by extending JQuery
$.fn.appendVal = function( TextToAppend ) {
return $(this).val(
$(this).val() + TextToAppend
);
};
//_____________________________________________
// And that's how to use it:
$('#SomeID')
.appendVal( 'This text was just added' )
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<textarea
id = "SomeID"
value = "ValueText"
type = "text"
>Current NodeText
</textarea>
</form>
Khi tạo ra ví dụ này, tôi có một chút bối rối. " ValueText " so với> NodeText hiện tại <Không phải .val()
chạy trên dữ liệu của thuộc tính giá trị ? Dù sao tôi và bạn tôi sớm muộn gì cũng có thể làm sáng tỏ chuyện này.
Tuy nhiên, vấn đề bây giờ là:
Khi làm việc với dữ liệu biểu mẫu sử dụng .val () .
Khi xử lý dữ liệu chủ yếu chỉ đọc ở giữa thẻ, hãy sử dụng .text () hoặc .append () để nối văn bản.
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<style type="text/css">
*{
font-family: arial;
font-size: 15px;
}
</style>
</head>
<body>
<button id="more">More</button><br/><br/>
<div>
User Name : <input type="text" class="users"/><br/><br/>
</div>
<button id="btn_data">Send Data</button>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#more').on('click',function(x){
var textMore = "User Name : <input type='text' class='users'/><br/><br/>";
$("div").append(textMore);
});
$('#btn_data').on('click',function(x){
var users=$(".users");
$(users).each(function(i, e) {
console.log($(e).val());
});
})
});
</script>
</body>
</html>