jQuery показать / скрыть опции, если выбрана кнопка - PullRequest
0 голосов
/ 19 февраля 2020

Как я могу изменить форму SELECT на TAB с.

У меня есть этот код:

var $clonedOpts = $("#layout_select").children().clone();

$("#column_select").change(function() { 
  var $layOpts = $clonedOpts.clone().filter('[value^=' + $(this).val() + ']');
  $("#layout_select").html($layOpts);
}).change();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="column_select" id="column_select">
  <option value="col1">1 column</option>
  <option value="col2">2 column</option>
  <option value="col3">3 column</option>
</select>

<select name="layout_select" id="layout_select">
  <!--Below shows when '1 column' is selected is hidden otherwise-->
  <option value="col1">none</option>

  <!--Below shows when '2 column' is selected is hidden otherwise-->
  <option value="col2_ms">layout 1</option>
  <option value="col2_sm">layout 2</option>

  <!--Below shows when '3 column' is selected is hidden otherwise-->
  <option value="col3_mss">layout 3</option>
  <option value="col3_ssm" selected="selected">layout 4</option>
  <option value="col3_sms">layout 5</option>
</select>

Я хочу изменить этот код (выберите опции):

<select name="column_select" id="column_select">
  <option value="col1">1 column</option>
  <option value="col2">2 column</option>
  <option value="col3">3 column</option>
</select>

К этому коду (формы TAB):

<div class="tab">
  <button>TAB1</button>
  <button>TAB2</button>
  <button>TAB3</button>
</div>

Что я должен изменить в javascript?

1 Ответ

1 голос
/ 19 февраля 2020

Вы можете использовать атрибут data-, чтобы прикрепить значения к кнопке

и изменить событие на click

var $clonedOpts = $("#layout_select").children().clone();

$(".tab button").click(function() { 
  var $layOpts = $clonedOpts.clone().filter('[value^=' + $(this).data("val") + ']');
  $("#layout_select").html($layOpts);
});
$(".tab button").eq(0).click();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tab">
  <button data-val="col1">TAB1</button>
  <button data-val="col2">TAB2</button>
  <button data-val="col3">TAB3</button>
</div>

<select name="layout_select" id="layout_select">
  <!--Below shows when '1 column' is selected is hidden otherwise-->
  <option value="col1">none</option>

  <!--Below shows when '2 column' is selected is hidden otherwise-->
  <option value="col2_ms">layout 1</option>
  <option value="col2_sm">layout 2</option>

  <!--Below shows when '3 column' is selected is hidden otherwise-->
  <option value="col3_mss">layout 3</option>
  <option value="col3_ssm" selected="selected">layout 4</option>
  <option value="col3_sms">layout 5</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...