我有以下代码
<li>
<input type="checkbox" name="adfil_variants[Size][]" value="25" onclick="javascript: func_adfil_select_checkbox_filter(this);" id="adfil_variants_Size_25" />
<label for="adfil_variants_Size_25"> 25</label>
</li>
我正在尝试将其更改为类似的选项标签不支持onclick。
<select>
<option type="checkbox" name="adfil_variants[Size][]" value="n31" onclick="javascript: func_adfil_select_checkbox_filter(this);" id="adfil_variants_Size_n31" /><label for="adfil_variants_Size_n31"> n31</option>
<option type="checkbox" name="adfil_variants[Size][]" value="24" onclick="javascript: func_adfil_select_checkbox_filter(this);" id="adfil_variants_Size_24" /><label for="adfil_variants_Size_24"> 24</option>
</select>
外部javascript文件:
function func_adfil_select_checkbox_filter(item) {
document.advancedfilterform.submit();
}
function func_adfil_select_slider_filter() {
$('#selector_changed').val('Y');
document.advancedfilterform.submit();
}
function func_adfil_select_color_filter(gid, id) {
if ($('[id="color_selector_' + gid + '_' + id + '"]').val() == '') {
$('[id="color_selector_' + gid + '_' + id + '"]').val(id);
} else {
$('[id="color_selector_' + gid + '_' + id + '"]').val('');
}
document.advancedfilterform.submit();
}
function func_adfil_process_expandable_menu(id) {
if ($('#' + id + '_content').css('display') == 'none') {
$('#' + id + '_content').css('display', 'block');
$('#' + id + '_collaps').css('display', 'block');
$('#' + id + '_expand').css('display', 'none');
} else {
$('#' + id + '_content').css('display', 'none');
$('#' + id + '_collaps').css('display', 'none');
$('#' + id + '_expand').css('display', 'block');
}
}
答案 0 :(得分:2)
将onChange
添加到“选择”,而不是onclick
添加到每个“选项”。
另外,如果倾向于使用jQuery,你可以给选项一个类名称为“selectClass”,或者id为“selectId”然后使用jQuery将click事件绑定到任何带有“selectClass”类的元素,或者“ selectId“就是这样:
$('.selectClass').change(function(){
func_adfil_select_checkbox_filter($(this).val());
});
OR
$('#selectId').change(function(){
func_adfil_select_checkbox_filter($(this).val());
});
答案 1 :(得分:1)
尝试以下方法:
<select onchange="javascript: func_adfil_select_checkbox_filter(this);">
<option type="checkbox" name="adfil_variants[Size][]" value="n31" id="adfil_variants_Size_n31" />
<label for="adfil_variants_Size_n31"> n31
</option>
<option type="checkbox" name="adfil_variants[Size][]" value="24" id="adfil_variants_Size_24" />
<label for="adfil_variants_Size_24"> 24</option>
</select>
您正在寻找onChange
属性。