Удалить слово по клику с помощью Jquery и Regex - PullRequest
1 голос
/ 17 июля 2010

Я ищу помощь. Я нашел этот скрипт, который как бы решает мою проблему на 50% - я хочу нажать на слово и удалить слово, используя jquery, как в примере ниже. При использовании приведенного ниже примера будет выделено слово, на которое вы нажали.

<!DOCTYPE html>
<html>
<head>
  <style>
  p { color:blue; font-weight:bold; cursor:pointer; }
  </style>
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script></head>
<body>

<p>
  Once upon a time there was a man
  who lived in a pizza parlor. This
  man just loved pizza and ate it all 
  the time.  He went on to be the
  happiest man in the world.  The end.
</p>
<script>
  var words = $("p:first").text().split(" ");
  var text = words.join("</span> <span>");
  $("p:first").html("<span>" + text + "</span>");
  $("span").click(function () {
    $(this).css("background-color","yellow");
  });
</script>
</body>
</html>

Как мне удалить / удалить слово, нажав на него?

Я также нашел этот образец, чтобы заменить слово словом.

var el = $('#id');
el.html(el.html().replace(/word/ig, ""));

Есть ли кто-нибудь, кто может помочь мне связать это вместе, чтобы, когда я нажимаю на слово, оно заменяло слово. Может также заменить слово чем-то вроде [Удалить], и я могу удалить его с помощью регулярного выражения при отправке формы?

Хорошо, я понял это, заменив

$("span").click(function () {
        $(this).css("background-color","yellow");
      });

$("span").click(function () {
    $(this).remove();
  });

Это подводит меня к следующему вопросу.

Как обновить результаты в текстовом поле формы?

Обновленный пример из подсказки ниже

  <form id="form1" name="form1" method="post" action="spin1.php">
  <p><%=(Recordset1.Fields.Item("g_article_desc_spin").Value)%></p>
<textarea name="myfield" id="myfield" onFocus="this.blur();" cols="45" rows="5"></textarea>
<script>
  var words = $("p:first").text().split(" ");
  var text = words.join("</span> <span>");
  $("p:first").html("<span>" + text + "</span>");
$("span").click(function () { 
    $('myfield').val($(this).remove().parent('p').text()); 
});  
</script> 
      <input type="submit" name="button" id="button" value="Submit" />
  </form>

Я все еще не уверен, как обновить значение в myfield

1 Ответ

2 голосов
/ 17 июля 2010

Когда вы говорите «обновить результаты в текстовом поле формы», вы имеете в виду, что вы хотите, чтобы удаленное слово помещалось в текстовое поле формы или в результирующий абзац после удаления текста? Если первое:

$("span").click(function () {
    $('#myfield').val($(this).remove().text());
});

изменить - см. Комментарий ниже Если последнее:

$("span").click(function () {
    var $p = $(this).parent('p');
    $(this).remove(); 
    $('#myfield').val($p.text());
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...