Tôi có HTML sau:jQuery: chọn hộp kiểm dựa trên tên và giá trị so
<form id="test">
<input type="radio" value="A" name="C1"/>
<a href="javascript:selectCheckbox('C1', 'A');"> OPTION-A </a>
<input type="radio" value="B" name="C1"/>
<a href="javascript:selectCheckbox('C1', 'B');"> OPTION-B </a>
<input type="radio" value="C" name="C1"/>
<a href="javascript:selectCheckbox('C1', 'C');"> OPTION-C </a>
// several other: C2, C3, ..
</form>
Và tôi đang cố gắng để thực hiện selectCheckbox(chkbox, value)
, mà nên:
- tìm kiếm cho tất cả các đài phát thanh với
name = chkbox
và thiết lậpattr('checked') = false
- tìm kiếm radio có
name = chkbox AND val() = value
và đặtattr('checked') = true
tôi không thể tìm ra, những gì bộ chọn đúng là, tôi đã thử sau đây mà không bất kỳ may mắn:
var name = "#" + chkbox + " :checked";
$(name).each(.. // doesn't work
$('#'+chkbox).each(.. // if finds only the first occurence
// of i.e. C1, although I would expect 3
$("input[@name='"+chkbox+"']").each(function() { ..
// leaves me with the following error:
// Warning: Expected attribute name or namespace but found '@name'
Xin vui lòng cho tôi biết những gì tôi đang làm sai. Rất rất cảm ơn!
Bạn không nên có nhiều yếu tố với cùng một ID ("C1") – Zed
Bạn nói đúng, tôi loại bỏ các ID bây giờ. Cảm ơn! – MrG
"Lưu ý: Trong jQuery 1.3 [@attr] các bộ chọn kiểu đã bị loại bỏ (chúng đã không được chấp nhận trước đó trong jQuery 1.2).Chỉ cần xóa biểu tượng '@' khỏi bộ chọn của bạn để làm cho chúng hoạt động trở lại. " – Zed