我正在尝试为个人项目构建标记朋友系统。我在网上找到了一些很棒的教程,但现在我被卡住了。
当我在标签栏中输入@时没有任何反应。显示和消息框应向下滑动,以便用户可以选择他们想要标记的朋友。
我做错了什么?
<div id="tagbox">
<div class="textarea">
<textarea id="contentbox" name="contentbox"></textarea>
<div id='display'></div>
<div id="msgbox"></div>
<button type="submit" id="tag_button" value="Update" name="submit">Add</button>
</div>
这是AJAX / jQuery部分:
<script type="text/javascript">
$(document).ready(function() {
var start=/@/ig;
var word=/@(\w+)/ig;
$('#tagbox .textarea textarea[name="contentbox"]').live("keyup",function() {
var content=$(this).text();
var go= content.match(start);
var name= content.match(word);
var dataString = 'searchword='+ name;
if(go.length>0) {
$("#msgbox").slideDown('show');
$("#display").slideUp('show');
$("#msgbox").html("Type the name of someone or something...");
if(name.length>0) {
$.ajax({
type: "POST",
url: "addfriends.php",
data: dataString,
cache: false,
success: function(html) {
$("#msgbox").hide();
$("#display").html(html).show();
}
});
}
}
return false();
});
$(".addname").live("click",function() {
var username=$(this).attr('title');
var old=$('#tagbox .textarea textarea[name="contentbox"]').html();
var content=old.replace(word,"");
$('#ws3 .textarea textarea[name="contentbox"]').html(content);
var E="<a class='red' contenteditable='false' href='#' >"+username+"</a>";
$('#tagbox').append(E);
$("#display").hide();
$("#msgbox").hide();
$('#ws3').focus();
});
});
</script>
答案 0 :(得分:3)
要获取textarea
的值,您必须使用方法.val()
而不是text()
,否则content
将始终为空。
var content=$(this).val();