2012-05-22 27 views
5

Tôi đang tải văn bản vào hộp nhập thông qua $("textarea").val(ajaxData); tuy nhiên nó sẽ không tự động phát và dữ liệu của tôi không được hiển thị đầy đủ. Có bất kỳ phương pháp hoặc bất cứ điều gì mà tôi có thể gọi để buộc một bản cập nhật?Khu vực văn bản phát triển jQuery Mobile với dữ liệu AJAX

+2

Vui lòng đăng CSS, javascript và HTML của bạn - rất có thể sự cố của bạn là do CSS của bạn. –

+0

Tôi không có css tùy chỉnh, điều này là dành cho một hộp văn bản bình thường. sự khác biệt duy nhất là đầu vào không đến từ bàn phím mà từ nguồn dữ liệu ajax. Vì vậy, phải có một chức năng để làm điều này trên jQM, tôi chỉ không biết phù thủy một trong những nó được. – Astronaut

Trả lời

11

Có chức năng nội bộ chịu trách nhiệm thay đổi kích thước, được gọi là resizeCheck(). Tuy nhiên, chức năng đó là một chi tiết triển khai cá nhân và không được widget hiển thị như một phương thức công khai.

Bạn có thể làm việc xung quanh này, mặc dù: kể từ resizeCheck() được gọi bằng xử lý sự kiện của widget keyup, bạn có thể kích hoạt sự kiện chính mình sau khi đặt giá trị mới:

$("textarea").val(ajaxData).keyup(); 

Điều này sẽ thay đổi kích thước widget trong chính xác giống như cách bạn đã gõ văn bản mới "bằng tay".

+0

Cảm ơn bạn một lần nữa Frédéric, bạn đã tiết kiệm cho tôi số giờ tìm kiếm. Nó hoạt động hoàn hảo! :) Tuy nhiên một khi lĩnh vực này phát triển nó sẽ không quay trở lại ... tôi thấy hành vi này thực hiện chỉnh sửa thủ công là tốt. có cách nào để đặt lại trường này thành bình thường không? Điều này có thể là một lỗi? – Astronaut

+0

@Adam, đây thực sự là một lỗi. [Lỗi # 2719] (https://github.com/jquery/jquery-mobile/issues/2719), cụ thể. –

+0

Cảm ơn một lần nữa vì phản hồi của bạn. Tôi nghĩ rằng tôi sẽ hợp nhất các plugin đàn hồi, nó là một bummer kể từ khi tôi muốn sử dụng CDN thay vì một jQuery địa phương. – Astronaut

0

Bạn phải chỉ định chiều cao: 'tự động' trong phần tử vùng chứa của mình bằng cách sử dụng CSS.

Nếu bạn đã viết chiều cao tĩnh, nó sẽ không tự động phát.

1
var offset=15; 
$("textarea").val(ajaxData); 
$("textarea").height($("textarea").innerHeight() + offset) 

Bạn có thể thử mà không cần bù trừ nếu nó hoạt động trong trường hợp của bạn. Bạn cũng có thể thay đổi giá trị offset nếu cần

+0

Xin cảm ơn vì giải pháp này. Tuy nhiên tôi đã tự hỏi nếu có ai biết những gì chức năng được gọi là nội bộ của jQM để làm điều này với văn bản đầu vào thường xuyên. nếu bạn gõ nó autogrows, nhưng nó sẽ không với dữ liệu ajax. – Astronaut

+0

Hi Imdad sẽ innerHeight cho tôi giá trị của văn bản? Tôi có thể sử dụng điều này để làm cho nó đàn hồi? Phát triển và co lại? – Astronaut

+0

innerHeight sẽ cho bạn chiều cao của nội dung bên trong. Vì vậy, bạn có thể tăng/thu nhỏ cho phù hợp. Để có được giá trị hoặc văn bản thực tế sử dụng '$ (" textarea "). Val()' – Imdad

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