2016-07-25 6 views
-5

Ich habe einen Aufforderungstext mit percent-sign von Javascript zu asp:textbox hinzuzufügen und zu entkommen% auf Zeichenfolge versuchenJQuery Stichworte-Eingang hinzufügen Tags asp: Textbox von Auffordern mit Prozentzeichen Wert nicht erfasste Fehler: Syntaxfehlern, unerkannt Ausdruck:%

<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); 
       } 

aber mir noch

Uncaught Error: Syntax error, unrecognized expression: %test%

jquery-tags-input initialisieren gezeigt

<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> 

diese

mit 'Singlequote zu geschehen, wie ich sie zu String entkommen kann, versuche ich \\ doppelten Backslash zu benutzen, aber es ist für Metazeichen auf Eingabe-ID verwendet nur kann ich nicht mit Wert verwenden.

+2

Dies ist keine gültige ID durch Zufall. Dies kann zu einer gültigen ID führen, wenn sie von einem Server-seitigen Ding vorverarbeitet wird, Backslashes erreichen dies jedoch nicht (ganz im Gegenteil). Wenn Sie eine .js-Datei bereitstellen, ist es wahrscheinlich, dass der Server nicht weiß, dass er sie zuerst transformieren soll. –

+0

Also versuche ich Text zur Texteingabe hinzuzufügen, aber es gibt denselben Fehler :) @JanDvorak –

Antwort

0

löste ich meine Lösungen durch diese proc löschen

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'); 
    }); 
} 

Dann ist es wie ein Charme :)

Verwandte Themen