2013-10-15 29 views
0

我有下面的代码改变上点击输入选项标签

<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

'func_adfil_select_checkbox_filter'在哪里? – hjpotter92

+0

你可以使用jQuery,或者至少不使用内联js吗? – kunalbhat

回答

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属性就是你要找的。

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()); 
}); 
相关问题