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');
  }
}
4

2 回答 2

2

添加onChange到您的“选择”而不是onclick每个“选项”。

此外,如果倾向于使用 jQuery,您可以为选项提供一个类名,例如“selectClass”或“selectId”的 id,然后使用 jQuery 将点击事件绑定到任何具有“selectClass”或“selectId”类的元素这样的:

$('.selectClass').change(function(){
    func_adfil_select_checkbox_filter($(this).val());
});

或者

$('#selectId').change(function(){
    func_adfil_select_checkbox_filter($(this).val());
});
于 2013-10-15T22:08:07.237 回答
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属性是您正在寻找的。

于 2013-10-15T22:08:59.340 回答