Câu trả lời:
Với sự trợ giúp của bộ chọn thuộc tính, bạn có thể chọn phần tử đầu vào với giá trị tương ứng. Sau đó, bạn phải đặt thuộc tính rõ ràng, sử dụng .attr
:
var value = 5;
$("input[name=mygroup][value=" + value + "]").attr('checked', 'checked');
Kể từ jQuery 1.6, bạn cũng có thể sử dụng .prop
phương thức có giá trị boolean (đây phải là phương thức ưa thích):
$("input[name=mygroup][value=" + value + "]").prop('checked', true);
Hãy nhớ rằng trước tiên bạn cần xóa thuộc tính đã chọn khỏi bất kỳ nút radio nào trong một nhóm nút radio sau đó bạn sẽ có thể thêm thuộc tính / thuộc tính được kiểm tra vào một trong các nút radio trong nhóm nút radio đó.
Mã để loại bỏ thuộc tính đã kiểm tra từ tất cả các nút radio của một nhóm nút radio -
$('[name="radioSelectionName"]').removeAttr('checked');
.is
sẽ không giúp ở đây, nhưng tôi đồng ý với .prop
. Nó không có sẵn sau đó;) Sẽ cập nhật câu trả lời của tôi. Cảm ơn!
.val()
hỗ trợ cài đặt các giá trị trên các nhóm radio hoặc hộp kiểm. Câu trả lời này là cách hoạt động về mặt kỹ thuật, nhưng là đường vòng và ít dễ đọc / dễ nhớ hơn nhiều.
Có một cách tốt hơn để kiểm tra radio và hộp kiểm; bạn phải truyền một mảng các giá trị cho phương thức val thay vì giá trị thô
Lưu ý: Nếu bạn chỉ đơn giản chuyển giá trị của chính nó (mà không nằm trong một mảng ), điều đó sẽ dẫn đến tất cả các giá trị của "mygroup" được đặt thành giá trị.
$("input[name=mygroup]").val([5]);
Đây là tài liệu jQuery giải thích cách thức hoạt động của nó: http://api.jquery.com/val/#val-value
Và .val([...])
cũng làm việc với các yếu tố hình thức như <input type="checkbox">
, <input type="radio">
, và <option>
là bên trong một <select>
.
Các đầu vào và các tùy chọn có giá trị khớp với một trong các phần tử của mảng sẽ được kiểm tra hoặc chọn, trong khi các tùy chọn có giá trị không khớp với một trong các phần tử của mảng sẽ bị bỏ chọn hoặc không được chọn
Fiddle chứng minh điều này hoạt động: https://jsfiddle.net/92nekvp3/
Thử cái này:
$('input:radio[name="mygroup"][value="5"]').attr('checked',true);
Khi bạn thay đổi giá trị thuộc tính như đã đề cập ở trên, change
sự kiện không được kích hoạt, vì vậy nếu cần vì một số lý do, bạn có thể kích hoạt nó như vậy
$('input[name=video_radio][value="' + r.data.video_radio + '"]')
.prop('checked', true)
.trigger('change');
$("input[name='RadioTest'][value='2']").prop('checked', true);
var key = "Name_radio";
var val = "value_radio";
var rdo = $('*[name="' + key + '"]');
if (rdo.attr('type') == "radio") {
$.each(rdo, function (keyT, valT){
if ((valT.value == $.trim(val)) && ($.trim(val) != '') && ($.trim(val) != null))
{
$('*[name="' + key + '"][value="' + (val) + '"]').prop('checked', true);
}
})
}
$('input[name="mygroup"]').val([5])