繁体   English   中英

将添加的记录添加到结果表一次

[英]Prepend added record once to result table

我正在使用jQuery Ui Dialog将记录添加到记录列表中。 它可以工作,但是我只想一次将新添加的记录行(tr)放在结果页的前面。 它可以工作,但很奇怪,append和prepend以及类似的函数都对每个元素执行此操作。 我只希望添加的记录一次添加。

我尝试了很多事情,包括:

$( "#notes tbody" ).prependTo('#notes',response);

$( "#notes tbody" ).append(response);
$( "#notes tbody" ).prepend(response);

等等。

有谁知道会起作用吗?

假设每个响应都有某种可以从其余响应中识别出来的类或ID,则可以设置一个if语句将响应长度限制为< 1

if($("tbody .response-name").length < 1){
   $( "#notes tbody" ).prepend(response);
}

同样,如果新的传入响应具有与if语句中所使用的类或ID相同的类,则不会将其追加。 如果您有一些变量,它应该可以工作,记录的名称可能有助于确定ID。

例如

var recordName = // Some unique user input
<div id="response-" + recordName +></div>

如果有更多上下文,将更容易提供帮助。

这是我做的一个插件:

(function($){$.fn.specifPrepend=function(amountAppend,child,appItem){if($(this).children(child).length<amountAppend){$(this).prepend(appItem);}}})(jQuery);

使用$(".element").specifPrepend(amount, uniqueClass, itemToBeAppended);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM