2013-10-15 34 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()); 
}); 
相關問題