我想在逗号之前选择字符串

时间:2017-09-20 08:41:50

标签: javascript jquery html

我想选择整个单词,直到逗号出现。如果段落中有逗号,则不应显示。另外,如果我选择文本的一半,它应该显示完整的单词。

jQuery(document).ready(function() {
  $("#content > div.row > div > p:nth-child(10)").click(function() {
    var s = window.getSelection();
    s.modify('extend', 'backward', 'word');
    var b = s.toString();

    s.modify('extend', 'forward', 'word');
    var a = s.toString();
    s.modify('move', 'forward', 'character');
    $(".location-selected").remove();
    $("#content > h2").append('<div class="location-selected">you have selected 
      location '+(b+a)+' < /div>');
    });
  });

这是我的专栏:

Gqaka, Gqaqala, Gqiba, Gqobonco, Gqogqora, Gqola, Gqoloma, Gqora, Gqubeni, Gqubonco, Gqukangqa, Gquk

如果我点击Gqiba,它应该只显示这个词。如果我拖动鼠标选择Gqiba, Gqobonco,它应该在逗号之前只有一个单词。这意味着它应该Gqiba - 它应该忽略Gqobonco。此外,如果我从鼠标选择中选择iba,则应显示Gqiba的完整字词,它不应仅选择iba并显示。请帮助我。

1 个答案:

答案 0 :(得分:0)

您必须将所有逗号分隔的单词放入span标记中,没有其他方法可以这样做。

&#13;
&#13;
var listPara = "Gqaka, Gqaqala, Gqiba, Gqobonco, Gqogqora, Gqola, Gqoloma, Gqora, Gqubeni, Gqubonco, Gqukangqa, Gquk";

var listItems = listPara.split(",");

listItems.forEach(function(item) {
    $("#selectHolder").append("<span>"+ item + "</span>, ");
});

$("#selectHolder").on('click', 'span', function(){
  alert($(this).text());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p id="selectHolder"></p>
&#13;
&#13;
&#13;

或者您可以使用此引导程序插件: http://sliptree.github.io/bootstrap-tokenfield/