我实现了一个淘汰赛的foreach结合,在同一个页面多个模板,范例之一,这里给出的,我感兴趣是找出当块呈现完毕后,我曾尝试afterRender和afterAdd,但我想它运行的每个元素,而不是整个循环结束后.
<ul data-bind="foreach: {data: Contacts, afterAdd: myPostProcessingLogic}">
<li>
<div class="list_container gray_bg mrgT3px">
<div class="list_contact_icon"></div>
<div class="contact_name"><span data-bind="text: first_name"></span> <span data-bind="text: last_name"></span></div>
<div class="contact_number"><span data-bind="text: value"></span></div>
<div class="callsms_container">
<a href="#notification-box" class="notifcation-window">
<div class="hover_btn tooltip_call">
<div class="hover_call_icon"></div>
<span>Call</span></div>
</a>
<a class="sendsms" href="#sendsms" rel="#sendsms">
<div class="hover_btn tooltip_sms">
<div class="hover_sms_icon"></div>
<span>SMS</span></div>
</a>
<a href="#">
<div class="hover_more_btn"></div>
</a>
</div>
<!-- close callsms container -->
<div id="notification-box" class="notification-popup">
<a href="#" class="close"><img class="btn_close" src="images/box_cross.png" /></a> <img class="centeralign" src="images/notification_call.png" /> <span>Calling... +44 7401 287366</span> …Run Code Online (Sandbox Code Playgroud) 我正在尝试删除p带有data-spotid属性的标签
$dom = new DOMDocument();
@$dom->loadHTML($description);
$pTag = $dom->getElementsByTagName('p');
foreach ($pTag as $value) {
/** @var DOMElement $value */
$id = $value->getAttribute('data-spotid');
if ($id) {
$value->parentNode->removeChild($value);
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我删除孩子时,它正在重新索引 dom。假设我有 8 个项目,我第一次删除它会重新索引它,第二个元素将成为第一个,它不会删除它将转到第二个,现在是第三个元素。
我正在从php转换数组到json json_encode().如果我为一个数组编码它我可以解码它,但是当它是这样的:array('a'=>array(0=>array(),1=>array()))它返回{"a":[[],[]]}
当我解码它时,我得到以下错误
Catchable fatal error: Object of class stdClass could not be converted to string
Run Code Online (Sandbox Code Playgroud)
json来源
json在这里
我不知道如何处理$ .post()上的404错误?
$.post(url, data, function(returnedData) {
Run Code Online (Sandbox Code Playgroud)
它只能处理成功数据,但我也想处理404错误.我知道如何用ajax做但不知道这个功能请帮忙.
function returnData(url,data,type){
$.post(url, data, function(returnedData) {
if(type == "contacts")
{
ko.applyBindings(new ContactsViewModel(returnedData,"#KnockOutContacts",url,data),$("#KnockOutContacts")[0]);
ko.applyBindings(new ContactsViewModel(returnedData,"#ContactDetails",url,data),$("#ContactDetails")[0]);
}
else if(type == "logs")
{
alert(returnedData);
alert(1);
ko.applyBindings(new LogsViewModel(returnedData,url,data),$("#KnockOutLogs")[0]);
}
else if(type == "sms")
{
ko.applyBindings(new SmsViewModel(returnedData,"#KnockOutSmsData",url,data),$("#KnockOutSmsData")[0]);
ko.applyBindings(new SmsViewModel(returnedData,"#KnockOutSms",url,data),$("#KnockOutSms")[0]);
}
else if(type == "calendar")
{
ko.applyBindings(new CalendarViewModel(returnedData,"#KnockOutCalendar",url,data),$("#KnockOutCalendar")[0]);
}
else if(type == "search")
{
ko.applyBindings(new SearchViewModel(returnedData,"#searchbox",url,data),$("#searchbox")[0]);
}
else if(type == "location")
{
ko.applyBindings(new LocationViewModel(returnedData,"#KnockOutMaps",url,data),$("#KnockOutMaps")[0]);
}
else if(type == "photos")
{
ko.applyBindings(new PhotosViewModel(returnedData,"#photogallary",url,data),$("#photogallary")[0]);
ko.applyBindings(new PhotosViewModel(returnedData,"#PhotosDown",url,data),$("#PhotosDown")[0]);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我基本上应用绑定当我得到数据,但当我没有得到数据,它不会进入成功函数,这就是打破我的js.
jquery ×2
php ×2
.post ×1
ajax ×1
dom ×1
domdocument ×1
foreach ×1
html ×1
javascript ×1
json ×1
knockout.js ×1
post ×1