2013-06-26 31 views
9

Tôi cần nối thêm một giá trị từ tập dữ liệu kết quả thành input có thể có bất kỳ ký tự đặc biệt nào như *^&$#>,'" v.v. Vấn đề là tôi không thể nối thêm toàn bộ var vào số input.chắp thêm các giá trị với cả dấu nháy đơn và dấu ngoặc kép vào hộp văn bản

Vui lòng kiểm tra this fiddle. Điều mà tôi đã bỏ lỡ trong đó là gì?

Tôi có thể làm điều này mà không cần sử dụng .find.append như this one?

+0

Tôi concatinating một 'var', và cuối cùng tôi đang thêm điều này vào một số div. Chỉ cần xem một trường hợp mẫu dưới đây. 'uques + =" (ký tự" + ký tự + ")"; ' –

Trả lời

2

Vì vậy, để giải quyết vấn đề này mà không sử dụng .find hoặc nối các var riêng rẽ, tôi tìm thấy một giải pháp đơn giản cho việc này. Tôi chỉ cần thay thế các single quote "'" với iso đang Latin của nó ' và ký tự đặc biệt khác với mã số tương ứng của họ và sau đó sử dụng biến mà trong .html

var something= "this is vicky\"s \"s 's 's \"s \"S"; 
test=something.replace(/'/g,"'").replace(/"/g,'\\"'); 
$("#test").html("hey this is <input id='testbox' value='"+test+"'></input>"); 

Có một cái nhìn tại this jsfiddle

3

Điều này là do bạn đang nối chuỗi, không tính đến việc thoát khỏi các ký tự đặc biệt. Thay vào đó, bạn nên đặt giá trị bằng .val để giá trị được thoát đúng cách. Ngoài ra, regex là không cần thiết.

$(document).ready(function(){ 
    var test= "this is vicky\"s \"s 's 's \"s \"S"; 

    alert(test); 

    var input = $("<input style='width:700px;' id='testbox'></input>").val(test); 

    $("#test").html("hey this is ").append(input); 

}); 

Xem updated test case on jsFiddle

+0

' unescape' là để chuyển các giá trị ASCII được mã hóa phần trăm thành các ký tự ASCII một lần nữa. Vì không có giá trị mã hóa phần trăm ở đây, không cần phải sử dụng unescape, nó chỉ cần _nothing_ ở đây. – CBroe

+0

@CBroe hoặc * tệ hơn * nếu có * là * '%' trong 'something' –

+0

Vấn đề là tôi có nhiều trường hợp (trường hợp chuyển đổi) và tôi đang phụ thêm biến dựa trên các trường hợp (nút radio, div, p ...) vì vậy cho textbox quá tôi tiếp tục thêm lên chuỗi và tôi concatinating biến này và cuối cùng tôi đang thêm nó vào div. Chỉ cần xem trường hợp mẫu bên dưới –

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