Nano Hash - криптовалюты, майнинг, программирование

Как удалить параметры из раскрывающегося списка выбора в соответствии с выбором из другого раскрывающегося списка выбора?

Я использую раскрывающийся список JavaScript Selectize. Я хочу изменить типы оплаты в соответствии с выбором типа бронирования в моем коде. Код выглядит следующим образом:

$(document).ready(function () {
    $("#reservationType").change(function () {           
         managePaymentTypes();
    });      
});

var $reservationTypeObj = $('#reservationType').selectize({
    sortField: {
       field: localStorage.getItem("selectizeField"),
       direction: localStorage.getItem("selectizeDirection")
    },
       dropdownParent: localStorage.getItem("selectizeDropdownParent")
});

var $paymentTypeObj = $('#paymentType').selectize({
    sortField: {
       field: localStorage.getItem("selectizeField"),
       direction: localStorage.getItem("selectizeDirection")
    },
        dropdownParent: localStorage.getItem("selectizeDropdownParent")
});

function managePaymentTypes(){
   var resType = $('#reservationType :selected').val();
      if(resType==202){
        //remove option 2 - Salary deduct in selectize.
      }else if(resType==101) {
        //remove option 1 - Credit in selectize. 
      }else{
        ////
      }
}
<label class="col-md-1 control-label firstcol" for="type" style="text-align:left">Reservation Type : </label> 
<div class="col-md-2" id="reservationTypeDiv" data-toggle="tooltip" data-container="body"  data-placement="bottom">
	<select class="demo-default selectized" id="reservationType" name="reservationType" tabindex="7"  opacity: 1" data-toggle="tooltip" data-container="body"  data-placement="bottom">
		<%
		for (int l = 0; l < reservationTypes.size(); l++)
		{
		%>
			<option value="<%=reservationTypes.get(l).getId()%>"><%=reservationTypes.get(l).getDescription()%></option>
		<%
		}
		%>
	</select>    
</div>
<label class="col-md-1 control-label firstcol" for="payment" style="text-align:left">Payment Type : </label> 
<div class="col-md-2" data-toggle="tooltip" id="paymentTypeDiv" data-container="body"  data-placement="bottom">
	<select class="demo-default selectized" id="paymentType"       name="paymentType" tabindex="7" opacity: 1" data-      toggle="tooltip" data-container="body"  data-placement="bottom">
		<%
		for (int l = 0; l < reservationPaymentTypes.size(); l++)
		{
		%>
			<option value="<%=reservationPaymentTypes.get(l).getId()%>"><%=reservationPaymentTypes.get(l).getDescription()%></option>
		<%
		}
		%>
	</select>    
</div>    

У меня есть два раскрывающихся списка выбора.

  1. Для типа бронирования
  2. Для типа оплаты

Значения берутся из базы данных. Снимок экрана раскрывающегося списка типов резервирования,Скриншот раскрывающегося списка "Типы платежей"

При изменении типа бронирования я хочу изменить типы оплаты. Поэтому при изменении типа бронирования я вызвал метод с именем managePaymentTypes(). Я хочу удалить вариант оплаты кредитом, если тип бронирования индивидуален (101). И я хочу удалить опцию вычета зарплаты, когда тип бронирования — Coporate (202). Индивидуальный должен быть выбором по умолчанию. Это мое требование. Кто-нибудь, пожалуйста, помогите мне решить эту проблему.


Ответы:


1

Я придумал следующее решение.

    $(document).ready(function () {      
<%
    for(SportsCenterReservationPaymentType paymentType : reservationPaymentTypes){
    %>
        paymentTypes.push({id: <%=paymentType.getId()%>, desc: '<%=paymentType.getDescription()%>'});
    <%
    }
    %>
    $("#reservationType").change(function () {           
        loadResourceTable();
        managePaymentTypes();
    });      

});

function managePaymentTypes(){ 
    var resType = $('#reservationType :selected').val();
    $('#paymentType')[0].selectize.clearOptions();

    if(resType==202&& resType!=101){

        $.each(paymentTypes, function (idx, obj) {
            if(obj.id!=333){
              $('#paymentType')[0].selectize.addOption({value:obj.id,text:obj.desc})  
            }
        });
    }

    if(resType==101&&resType!=202){

        $.each(paymentTypes, function (idx, obj) {
            if(obj.id!=222){
              $('#paymentType')[0].selectize.addOption({value:obj.id,text:obj.desc})  
            }
        });
    }

}

04.09.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..