jQuery проверил значение флажка, показанное в текстовом поле ввода, и снятие флажка удалит

0

Я пытался найти решение, как сказано в моем названии, где, когда у вас есть несколько флажков, и когда вы устанавливаете флажок со значением, таким как "кровь", будет добавлено в текстовое поле ввода. Каждое проверочное значение в текстовом поле будет разделено пробелом или запятой. Когда вы снимите флажок, соответствующее ему значение будет удалено из текстового поля.

До сих пор ближайший пример, с которым я столкнулся, - это следующее: Отобразить значение флажка в текстовом поле в порядке щелчка

Я попытался немного изменить код, используя <input type="text" name="text" id="results" value=""/> и имеющий $li.text(this.value); до $li.val(this.value); но ничего не появляется. К сожалению, jQuery - это не то, что я специализирую.

Если возможно, кто-то может пролить свет?

Теги:
input
checkbox

2 ответа

1
Лучший ответ

Может быть, это то, что вам нужно?

var arr = [];
$('#inputs input').change(function() {
  if (this.checked) {
    arr.push(this.value);
  }
  else {
   arr.splice(arr.indexOf(this.value), 1);
  }
  $('#target').val(arr + '');
});

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>

<body>
  <div id="inputs">
    <input type="checkbox" value="Apple">
    <input type="checkbox" value="Orange">
    <input type="checkbox" value="Pineapple">
    <input type="checkbox" value="Mango">
  </div>
  <input type="text" id="target"/>
</body>
</html>
  • 0
    Большое спасибо, это было именно то, что мне было нужно!
  • 0
    Кстати, поскольку мое текстовое поле использует $ ("#words"). keyup (function (), чтобы активировать ajax для поиска без отправки. Таким образом, даже если значение флажка введено в текстовое поле, ajax не активируется, пока я не нажму на текстовое поле и не нажму войти. Во всяком случае, чтобы решить это? ура
Показать ещё 3 комментария
0

Попробуй это

Fiddle demo

здесь вам просто нужно применить событие click во всех ваших флажках. и заполнить поле ввода при каждом нажатии.

  • 0
    Спасибо за ваш ответ, это тоже отлично сработало!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню