nhận giá trị từ nhóm radio bằng jquery


77

Tôi đang cố gắng nhận giá trị của nhóm radio với tên managerelradio. Mã html của tôi cho nhóm radio này là.

 <label><input type="radio" name="managerelradio" value="Yes" id="Add">Add</label>
 <label><input type="radio" name="managerelradio" value="No" id="Remove">Remove</label>

và Jquery cho đây là ..

    var manageradiorel = $('input[name = "managerelradio"]:checked' , '#managechildform').val();
 alert(manageradiorel);

nó cho tôi thấy không xác định.

Mặc dù tôi cũng đã thử nó như.

 var manageradiorel = $('input[name = "managerelradio"]:checked').val();
 alert(manageradiorel);

Nhưng tôi vẫn nhận được giá trị không xác định.


Bạn cũng có thể đăng HTML? Vững sẽ giúp chúng ta hiểu vấn đề
Null Pointer

Câu trả lời:


142

Thử cái này

var manageradiorel = $("input:radio[name ='managerelradio']:checked").val();
alert(manageradiorel);

Vui lòng kiểm tra DEMO này .. nó sẽ hoạt động tốt

Lưu ý: Một trong các nút radio của bạn phải được chọn. Nếu không, nó sẽ trả về không xác định

Bạn có thể sử dụng checkedthuộc tính để đặt một nút radio được chọn làm mặc định


cũng có thể nó phải được đặt trong sự kiện onchange, tôi đoán
Shameer

@Shameer, tôi không nghĩ vậy. Bạn có thể xem bản demo
Null Pointer

Nó hoạt động đối với tôi (ngay cả khi không có sự kiện trao đổi), đây phải là câu trả lời được chấp nhận!
user3532637

+1, hoạt động. Đối với trường hợp không có nhiều hơn một nhóm nút, người ta có thể bỏ đi phần đặc tả tên trong bộ chọn.
Zelphir Kaltstahl

Sẽ thật tuyệt nếu jQuery đủ thông minh để tìm ra $("#managerelradio").val()giá trị của nhóm nút radio , nhưng vì nó không thông minh như vậy, nên ít nhất cũng có logic trong việc xây dựng bộ chọn này ...
FKEinternet

17

Nó phù hợp với tôi

$('input[name="managerelradio"]').on('change', function(e) {

    var manageradiorel = e.target.value;
    alert(manageradiorel);

});

Exaple ở đây


Mặc dù nó hoạt động nếu tôi sử dụng chức năng thay đổi trên nhóm radio nhưng nó sẽ không hoạt động nếu tôi đưa vào một số chức năng thay đổi khác như thay đổi thả xuống.
Rahul Singh

@Rahul: Một trong các nút radio của bạn phải được chọn để nhận giá trị. Hãy xem lại liên kết
Gowri 11/10/11

10

Một phần mở rộng jQuery nhỏ để làm cho việc này dễ dàng hơn một chút:

jQuery.fn.extend({
    groupVal: function() {
        return $(this).filter(':checked').val();
    }
});

// Usage:
$("input[name='managerelradio']").groupVal();

// Or even:
$("[name='managerelradio']").groupVal();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.