【发布时间】:2020-06-06 23:53:32
【问题描述】:
我是 JQuery 新手,在使用 replaceWith 函数时遇到问题。
我创建了一个下拉菜单。单击下拉元素后,第一个按钮中的图标会发生变化,这就是我想要的。但是点击后下拉列表中的图标会被删除。
这是我的 HTML
<button title="Kein Status" data-toggle="dropdown" class="btn btn-xs btn-link btn-outline">
<i id="icon" class="fas fa-thermometer-empty text-danger fa-lg"></i>
</button>
<ul class="dropdown-menu">
<li><button class="dropdown-item" onclick="saveToDB(this,\'status1\',\'' . $fieldRow['id'] . '\',\'50\')"><i id="newIcon" class="fas fa-thermometer-quarter fa-lg text-warning"> </i> 50 % Status</button></li>
</ul>
函数 saveToDB
function saveToDB(column,id,value) {
$.ajax({
url: "edit.php",
type: "POST",
data:'column='+column+'&editval='+value+'&id='+id,
success: function(data){
var clone = $('#newIcon').show();
$('#newIcon').replaceWith(clone);
}
});
}
点击下拉列表中的按钮后
<li>
<button class="dropdown-item" onclick="saveToDB(this,\'status1\',\'' . $fieldRow['id'] . '\',\'50\')">
<i id="newIcon" class="fas fa-thermometer-quarter fa-lg text-warning"> </i> 50 % Status
</button>
</li>
改成
<li>
<button class="dropdown-item" onclick="saveToDB(this,\'status1\',\'' . $fieldRow['id'] . '\',\'50\')"> 50 % Status
</button>
</li>
据我了解,replaceWith 函数类似于移动函数。如何将图标保留在下拉列表中?
【问题讨论】:
-
您好,欢迎来到 Stack Overflow!你在哪里使用 replaceWith() ?我在提供的代码中找不到它。
-
对不起,我将 replaceWith 更改为 html() 以进行测试并复制了代码而没有再次阅读。我已经编辑了 JQuery 部分
标签: jquery dropdown replacewith