MySQLデータベースからフィードするテキストエリアで(@)を使用して言及を実装しようとしています。これは以下で使用しているコードです
var start=/@/ig; // @ Match
var word=/@(\w+)/ig; //@abc Match
$("#newstatus").live("keyup",function()
{
var content=$(this).val() //Content Box Data
var go= content.match(word); //Content Matching @
var name= content.match(word); //Content Matching @abc
var dataString = 'searchword='+ name;
//If @ available
if(go.length>0)
{
$("#msgbox").slideDown('show');
$("#display").slideUp('show');
$("#msgbox").html("Type the name of someone or something...");
//if @abc avalable
if(name.length>0)
{
$.ajax({
type: "POST",
url: siteurl + "ajax/mention", // Database name search
data: dataString,
cache: false,
success: function(data)
{
$("#msgbox").hide();
$("#display").html(data).show();
}
});
}
}
return false;
});
問題は、提案されたボックスを表示し続けるテキストを追加すると発生します。たとえば、@WORD im を使用して新しい文を開始するたびに検索を停止したい
@blackberry is my favorite smartphone !
そのテキストエリアで複数の言及を使用する場合があります。@ を使用するときはいつでもそれを行う方法を教えてください。選択したときはいつでもリストを提案しました。