我们正在创建一个管理控制台,客户端将自己修改自己的网站。
为此,我们使用js和PHP(ajax)创建div:
$(document).ready(function($)
{
function loadContent(page)
{
$.ajax(
{
url: 'contenu/contenu.php',
type: 'POST',
dataType: 'html',
data:
{
'onglet': page
},
success:function(contenu)
{
console.log("success");
$("div."+page).html(contenu);
}
})
};
});
和PHP代码(只是其中的一部分):
$reponse = $db->query('SELECT * FROM philosophie');
$data = $reponse->fetch();
//maj de la version FR de philosophie
echo '<form action="#" method="POST">
<label>Texte en français :</label><br/>
<textarea name="texte_fr">'.$data["texte_fr"].'</textarea><br/>
<br />
<input type="button" id="maj_philosophie_fr" value="Mettre à jour ce texte" />
<br /><br />';
该表格显示在网站上,效果很好。
之后,我想知道带有以下代码的ID中以“ maj_”开头的按钮的数量:
alert($("[id^='maj_']").length);
我还有0作为回复。
元素尚未准备好,我无法在div上获得更改事件。
我在萤火虫(DOM部分)中看到了元素,它们都是红色字符。
请问您有什么主意吗?
参考方案
在调用成功函数之前,您的警报似乎正在运行。尝试将警报移到其中,更好的方法是,在下一个事件周期中使用setTimeout抛出警报。
$(document).ready(function () {
function loadContent (page) {
$.ajax({
url: 'contenu/contenu.php',
type: 'POST',
dataType: 'html',
data: { 'onglet': page },
success: function (contenu) {
console.log("success")
$("div."+page).html(contenu)
setTimeout(function () {
alert($("[id^='maj_']").length)
}, 100)
// might even work with 0, if the dom render function
// is the very next thing in the queue
}
})
}
})
如果必须处理许多嵌套的Ajax调用,则可能要考虑使用promise api。 Here are the docs for the jQuery implementation of $.promise()
确保您的代码在调用成功函数之后运行,这是无法解决的。代码无法在接收数据之前就知道数据,这意味着要么嵌套您的成功回调,要么使用其他解决方案,例如链接命名的函数回调,或者最好使用promises。
验证IBAN PHP - php在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…
PHP:将数组值加在一起 - php我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…
PHP JQuery复选框 - php我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(…
在xpath中选择多个条件 - php我正在尝试使用来自高尔夫比赛的xml提要,以显示每个高尔夫球手在高尔夫球场上的位置。目前,我想展示符合两个条件的所有高尔夫球手(排在前25名,以及所有加拿大高尔夫球手)。这是xml提要的示例。<GolfDataFeed Type="Leaderboards" Timestamp="3/21/2012 9:18:09 PM&…
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…