繁体   English   中英

将点击输入更改为选项标签

[英]changing input on click to option tag

我有以下代码

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

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

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

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

要么

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

请尝试以下操作:

<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属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM