2010-02-25 30 views
27

Câu hỏi nhanh ... Tôi đã tự hỏi làm thế nào tôi có thể có được điều này xảy ra.Làm cách nào để đặt thuộc tính Tên của trường nhập bằng Jquery?

Được rồi tôi có một lĩnh vực đầu vào như ví dụ:

<input type="text" id="input1" size="10" name="" value="" class="checked other_amount" onfocus="Toggle('radio1', 'input1');" /> 

Tôi muốn bấm vào một div với một ID của #resetPrompt và điền tên attr trống từ đầu vào với "other_amount"

tôi ra khỏi ý tưởng là một ngày dài

Thanks guys của mình,

Matt

Trả lời

45
$('#resetPrompt').click(function(){ 
    $('#input1').attr('name', 'other_amount'); 
}); 
+1

Như đã chỉ trước đó, đây giành' t làm việc trong MSIE7 trở lên. Cách giải quyết là viết lại dòng bên trong bằng cách sử dụng .prop (..): $ ('# input1'). Attr ('name', 'other_amount') || $ ('# input1'). prop ('name', 'other_amount'); – esteewhy

1

Nếu "other_amount" là ID của các đầu vào khác, sử dụng attrval như sau:

$("#resetPrompt").click(function(){ 
    var otherValue = $("#other_amount").val(); 
    $("#input1").attr("name", "someName"); 
} 
+0

Tất cả những người đàn ông làm việc nhờ! – TikaL13

1

Giả sử rằng "other_amount" là tên, không phải id của các đầu vào tương ứng.

$('#resetPrompt').click(function() { 
    $('#input1').attr('name', $('[name=other_amount]').val()); 
}); 
+0

Tất cả những người đàn ông làm việc nhờ! – TikaL13

4

này là dành cho tất cả các nhân viên của Google hiện có:

Cần lưu ý rằng đề xuất của Alex, mặc dù chức năng trong hầu hết các trình duyệt "thật", không làm việc trong IE 8 và dưới (jquery 1.6.2). Khi đặt thuộc tính "tên" của trường nhập, Microsoft, để giải quyết lỗi, hãy thêm một thuộc tính "submitName" hư cấu khi các trường nhập động được đính kèm vào DOM.

Để workaround vấn đề bằng ie, hoặc là buộc người dùng của bạn để nâng cấp, sử dụng Firefox, Chrome, vv hoặc bạn sẽ cần phải thêm các lĩnh vực đầu vào bằng tay:

$("#resetPrompt").click(function(){ 
    $("#input1").remove(); 
    $("#input_container").append('<input id="input1" name="' + other_amount + "' type="text" class="checked other_amount" onFocus="Toggle(\'radio1\', \'input1\');" />'); 
}); 
+0

Xác nhận: không thể đặt thuộc tính @name với $ .name (.., ..) trong MSIE7 - đầu vào chỉ giữ lại giá trị cũ và không có gì xảy ra. Nó được giải quyết trong jQuery ver gần đây hơn? – esteewhy

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