HTML:
<form id="form_filter" action="{{ Request::fullUrl() }}" method="post">
<input type="checkbox" name="shape[]" value="Aviator">
<input type="checkbox" name="shape[]" value="Round">
<input type="checkbox" name="shape[]" value="Oval">
</form>
我需要通过[名称]和[值]获取元素:
$('#form_filter input[name=shape][value=Round]').prop('checked', true);
请帮助!
答案 0 :(得分:3)
您错过了名称值中的[]
,应该为name="shape[]"
$('#form_filter input[name="shape[]"][value=Round]').prop('checked', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="form_filter" action="{{ Request::fullUrl() }}" method="post">
<input type="checkbox" name="shape[]" value="Aviator">
<input type="checkbox" name="shape[]" value="Round">
<input type="checkbox" name="shape[]" value="Oval">
</form>
答案 1 :(得分:0)
您应该只在选择器内使用引号,即:
$('#form_filter input[name="shape[]"][value="Round"]').length === 1 // true
或者:
$('#form_filter input[name="shape[]"][value="Round"]').prop('checked', true); // checks your specific checkbox
jQuery docs on equals selector还应说明以下内容:
属性:属性名称。
value:属性值。可以是有效的标识符,也可以是 带引号的字符串。
在JSFiddle上进行测试。