所以我一直在尝试在普通的javascript函数中将文本插入summernote。我有一个值列表,单击时应将其自身附加到实际文本区域。这些函数正在触发,因为我点击时会将消息记录到控制台,但由于某种原因,仍然没有任何附加消息。这是功能:
function appendListItem(ele){
console.log("Clicked!");
var id = $(ele).attr("id");
console.log(typeof(id));
console.log("ID:" + id);
//var htmlStr = "<p>#"+id+"</p>";
$(".summernote").summernote('code', id);
console.log($("#summernote").summernote('code'));
}
除第7行外,一切正常,$(“。summernote”)。summernote('code',id);.我也试过在summernote函数中使用'insertText'。 id是一个字符串。我已经尝试传入一个html字符串,如注释掉的行(第6行)所示。非常感谢您给予我的任何帮助!
编辑1:
这是我要求的html:
<body>
<div><img src="./images/Logo.png" alt="Logo" class="logo-center"></div>
<div id="summernote"></div>
<div class="checkList">
<p id="checkTitle">CHECKLIST (<span id="fraction">0/5</span>)</p>
<ul class="list-group" id="trigList">
<li class='list-group-item'><a id='mood' onclick='appendListItem(this)'>Mood</a></li>
<li class='list-group-item'><a id='phone' onclick='appendListItem(this)'>Phone</a></li>
<li class='list-group-item'><a id='email' onclick='appendListItem(this)'>Email</a></li>
<li class='list-group-item'><a id='lead' onclick='appendListItem(this)'>Lead</a></li>
</ul>
</div>
<div><button type="button" class="btn btn-primary" onclick="logNote();">Log Note</button></div>
</body>
答案 0 :(得分:1)
看起来你混淆了jQuery选择器。您有1个Summernote,因此您可以使用其ID id="summernote"
你目前在做什么,使用这一行$(".summernote").summernote('code', id);
- 告诉jQuery由于summernote
而获得<{>> .
的所有元素选择器在开头。
html中的任何元素都没有summernote
的类,所以这就是它无效的原因。
将$(".summernote").summernote('code', id);
更改为$("#summernote").summernote('code', id);
,它应该有效。 #
将获得id="summernote"
元素,这是您实际的Summernote元素。
这是一个完整的工作示例
<body>
<div><img src="./images/Logo.png" alt="Logo" class="logo-center"></div>
<div id="summernote"></div>
<div class="checkList">
<p id="checkTitle">CHECKLIST (<span id="fraction">0/5</span>)</p>
<ul class="list-group" id="trigList">
<li class='list-group-item'><a id='mood' onclick='appendListItem(this)'>Mood</a></li>
<li class='list-group-item'><a id='phone' onclick='appendListItem(this)'>Phone</a></li>
<li class='list-group-item'><a id='email' onclick='appendListItem(this)'>Email</a></li>
<li class='list-group-item'><a id='lead' onclick='appendListItem(this)'>Lead</a></li>
</ul>
</div>
<div><button type="button" class="btn btn-primary" onclick="logNote();">Log Note</button></div>
<script>
$(document).ready(function() {
$('#summernote').summernote();
});
function appendListItem(elem) {
//var htmlStr = "<p>#"+id+"</p>";
var id = $(elem).attr("id");
console.log(id);
$("#summernote").summernote('code', id);
// use 'insertText' instead of 'code' to append the id instead
}
</script>
</body>