簡體   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