【问题标题】:Jquery Tags-input add tags to asp:textbox from prompting with percent sign value Uncaught Error: Syntax error, unrecognized expression: %Jquery Tags-input 将标签添加到 asp:textbox 从带有百分号值的提示 Uncaught Error: Syntax error, unrecognized expression: %
【发布时间】:2016-07-25 05:13:01
【问题描述】:

我提示我在 Javascript 中使用 percent-signasp:textbox 添加文本并尝试将 % 转义为字符串

<asp:TextBox ID="txtValue" Enabled="true" CssClass="form-control" TextMode="MultiLine" Rows="5" runat="server"></asp:TextBox>


     sql = prompt("Enter Condition");
                if (sql != null) {
                    var sqlcode = cond.concat(" like ", " \'\%]", sql, "\%\' ");
                    $('#<%= txtValue.ClientID %>').addTag(sqlcode);
                }

但这仍然显示了我

未捕获的错误:语法错误,无法识别的表达式:%test%

jquery-tags-input初始化

   <script>
        function onAddTag(tag) {
            alert("Added a tag: " + tag);
        }

        function onRemoveTag(tag) {
            alert("Removed a tag: " + tag);
        }

        function onChangeTag(input, tag) {
            alert("Changed a tag: " + tag);
        }

        $(document).ready(function () {
             $('#<%= txtSQL.ClientID %>').tagsInput({
              width: 'auto',
              'delimiter': ['  '],
              defaultText: "",
unique:false,

              onAddTag: function (elem, elem_tags) {
                  var languages = ['or', 'and'];
                  $('.tag', elem_tags).each(function () {
                      if ($(this).text().search(new RegExp('\\b(' + languages.join('|') + ')\\b')) >= 0)
                          $(this).css('background-color', 'blue');
                  });
              },
              onChange: function (elem, elem_tags) {
                  var languages = ['or', 'and'];
                  $('.tag', elem_tags).each(function () {
                      if ($(this).text().search(new RegExp('\\b(' + languages.join('|') + ')\\b')) >= 0)
                          $(this).css('background-color', 'blue');
                  });
              }


          });

  });
</script>

' Singlequote 也发生了这种情况

如何将它们转义为字符串,我尝试使用双反斜杠 \\,但它仅用于输入 ID 上的元字符,我不能与值一起使用。

【问题讨论】:

  • 这绝不是一个有效的 ID。如果由某些服务器端事物进行预处理,这可能会导致有效的 ID,但反斜杠不会实现这一点(恰恰相反)。如果您正在提供一个 .js 文件,那么服务器很可能不知道它应该首先以某种方式对其进行转换。
  • 所以我尝试在文本输入中添加文本,但出现同样的错误:) @JanDvorak

标签: javascript jquery asp.net jquery-tags-input


【解决方案1】:

我通过删除这些过程解决了我的解决方案

onAddTag: function (elem, elem_tags) {
    var languages = ['or', 'and'];
    $('.tag', elem_tags).each(function () {
        if ($(this).text().search(new RegExp('\\b(' + languages.join('|') + ')\\b')) >= 0)
            $(this).css('background-color', 'blue');
    });
},
onChange: function (elem, elem_tags) {
     var languages = ['or', 'and'];
     $('.tag', elem_tags).each(function () {
        if ($(this).text().search(new RegExp('\\b(' + languages.join('|') + ')\\b')) >= 0)
           $(this).css('background-color', 'blue');
     });
}

然后它就像一个魅力:)

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    相关资源
    最近更新 更多