удалить первое совпадение из строки в javascript и jquery - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть такая строка 'set , many, like, see, what'

когда я создаю эту строку, я также создаю div со связанным элементом

<div>
    <a href="#">set</a>
    <a href="#">many</a>
    <a href="#">like</a>
...
</div>

, а также создать скрытый ввод со значением 'set , many, like, see, what' ... когда мы нажимаем на связанный элемент, у нас есть строка ссылки (пример: set) как удалить первое совпадение строки и убрать его из скрытого ввода?

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

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Где link является ссылкой на одну из ссылок, theString является ссылкой на вашу строку, а hidden является ссылкой на скрытый элемент управления вводом, вы можете сделать что-то вроде этого:

link.onclick = function(e)
{
    var expr = new RegExp("\b" + this.innerHTML + "\b(, ?)?");
    theString = theString.replace(expr, "");
    hidden.value = theString;
}
1 голос
/ 07 апреля 2011
var anchors = document.getElementById('container').getElementsByTagName('a'),
    hiddenInput = document.getElementById('hidden');

for (var i = 0, anchorsLength = anchors.length; i < anchorsLength; i++) {

   var anchor = anchors[i];

   anchor.onclick = function() {
      var term = anchor.innerHTML;
      hiddenInput.value = hiddenInput
                          .value
                          .replace(new RegExp(term + ',\s?'), '');
   }

}

Этот код позволяет вам щелкнуть один из тех якорей, в котором он удалит первое вхождение текстового узла якоря, а также , и любой необязательный символ пробела.

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