Удалить значение, когда опция не выбрана - PullRequest
0 голосов
/ 21 января 2020

Edit :: Я пытаюсь добиться того, чтобы каждый option text получал value, поэтому я могу отправить его в API. Получение текста от избранных работает отлично. Я хочу удалить его, если отменил выбор параметра из input value, когда снова щелкну по нему. Например, если я выбираю несколько, я получаю Medit-4-packs, Swiss-Gear-Bag. Когда я щелкаю один за другим, он удаляет его, но когда я отменяю выбор, я получаю значение другого. Я хочу заменить значение пустым, если оно отменено, как обычно. Надеюсь, это поможет уточнить

Любая помощь по использованию jquery для отмены выбора опции выбора из входного значения? Это то, что я пробовал до сих пор. Спасибо за помощь

Попытка удалить значения в <input>, когда опция отменяется.

<input class="form-check-input" type="text" value="" id="equipment" name="equipmentitems" >

 <select multiple class="image-picker show-labels show-html" data-limit="16"  name="packages[]" id="group_psoft">
<option value=" " data-img-class="first" selected></option>
<option data-img-src="/images/" data-img-label="Scanner Tips(4Pcs)" name="packs" data-img-alt="KeepSame" value="400" >Medit-4-packs</option>
<option data-img-src="/images/" data-img-label="SwissGear Bag" name="bagoriginal" data-img-alt="Aggresive" value="200"> Swiss-Gear-Bag</option> 
</select>

Js

$('.image-picker').imagepicker({
   show_label: true,
   limit: 15,

//This is setting the text in the input
   selected: function($items) {
     $('#equipment').val($(this).find('option:selected').text());
   },

// Here I want to remove it if clicked again
   changed: function(){
      $('#equipment').val($(this).unbind('option:selected').text()); // This removes it but add all the other options text in the input

 $('#equipment').val($(this).unbind('option:selected').val( )); // Here It removes it but I get the value of the next selected option. 

     $('#equipment').val($(this).unbind('option:selected').text(' ' )); This I get Js [object,object]

   }

});



Ответы [ 2 ]

0 голосов
/ 22 января 2020

Я решил это, когда переместил код за пределы функции. Я также изменил метод unbind() на on().

$('.image-picker').on('change', function() {
  $('#equipment').val($(this).find('option:selected').text());

});
0 голосов
/ 21 января 2020

Попробуйте и посмотрите, получится ли.

$('.image-picker').imagepicker({
   show_label: true,
   limit: 15,

//This is setting the text in the input
   selected: function($items) {
     $('#equipment').val($(this).find('option:selected').text());
   },

// Here I want to remove it if clicked again
   changed: function(){
      var equiValue = $('#equipment').val();
      var selectedValue = $(this).find('option:selected').text();
      if(equiValue === selectedValue) {
        $('#equipment').val("");
      }

   }

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...