2011-08-25 42 views
12

Vì vậy, tôi có một cái nhìn dao cạo:Textarea không nhận được văn bản cập nhật trong jQuery

@{ 
    int i=1; 
    foreach(var story in Model.Storylines) 
    { 
     <span style="float:left;">Storyline @i</span> <span style="float:right; margin-right:5px;">Character Count: @story.CharCount</span><br /><br /> 
     <textarea [email protected]("entry"[email protected]) rows="5" style="width:730px; overflow:auto;">@story.Description</textarea><br /><br /> 
     i++; 
    } 
} 

Vì vậy, các textarea với id entry 1 có một mô tả như "đây là một câu chuyện" khi trang ban đầu tải. Khi tôi nhập nội dung nào đó vào vùng văn bản đó và sau đó nhấn vào nút có chức năng duy nhất là:

alert($("#entry1").text()); 

Tôi vẫn nhận được "đây là một câu chuyện". Tại sao văn bản không được cập nhật bằng văn bản mà tôi đã nhập?

+0

Dường như một lỗi jQuery (hoặc quirk? :). Trong IE .text() trả về giá trị DOM được cập nhật, nhưng Chrome và FF yêu cầu sử dụng .val(). Chắc chắn đồng ý .val() có ý nghĩa. Xem fiddle ở đây: http://jsfiddle.net/SSYpF/ – nothingisnecessary

Trả lời

24

Bạn muốn sử dụng $("#entry1").val() để lấy văn bản trong vùng văn bản.

+0

ARGH! Tôi không thể tin rằng tôi không nghĩ về điều đó. Cảm ơn .... Tôi sẽ chấp nhận câu trả lời của bạn ngay sau khi hết thời hạn. –

6

Bạn sẽ muốn sử dụng .val() như trái ngược với .text(), vì đó là làm thế nào để truy cập vào nội dung của một <textarea>:

alert($("#entry1").text()); 

nên là:

alert($("#entry1").val()); 
3

.val sẽ trở lại nội dung của vùng văn bản

http://api.jquery.com/val/

Phương pháp .val() được sử dụng chủ yếu để có được các giá trị của các yếu tố hình thức

http://api.jquery.com/text/

Không giống như các phương pháp .html(), .text() có thể được sử dụng trong cả tài liệu XML và HTML . Kết quả của phương thức .text() là một chuỗi chứa văn bản kết hợp của tất cả các phần tử được so khớp.

3

Tôi nghĩ rằng văn bản lý do tại sao .text() không hoạt động là do thuộc tính văn bản nhận giá trị văn bản nằm giữa thẻ textarea và giá trị này không được cập nhật khi bạn thay đổi giá trị của vùng văn bản.

Văn bản đã nhập được lưu trữ trong thuộc tính value của điều khiển văn bản.

đây là fiddle hiển thị ví dụ. jQuery val() chọn cùng một giá trị thuộc tính để bạn cũng có thể sử dụng val()

Các vấn đề liên quan