0
基本上。我有一個JavaScript循環,張貼到一個PHP腳本。在日誌中附加對DIV的響應。響應中有一個按鈕。問題是,當一個新的響應被創建和追加時,jquery按鈕功能會使所有之前添加的按鈕變大。 (可能是因爲它在相同的DIV元素上再次調用jquery button()函數。)有沒有辦法在加載時將button()jquery ui函數應用於按鈕?
有沒有辦法在加載按鈕()時將jquery ui函數應用於按鈕? (而不是將它應用到每個具有相同名稱的元素上?)
此php與以下內容非常相似(但縮短了這一點)。只是爲了讓您瞭解php腳本的作用。
<?php
echo "<script type='text/javascript'>
function addButton(x) {
x = this;
$(x).button({
icons: {
primary: 'ui-icon-alert'
}
});
}
</script><div id='chat_wrap' class='message".$id."' hidden='true'>";
if ($query_run = mysql_query($finalchatq)) {
if (mysql_num_rows(mysql_query($finalchatq)) > 0) {
$counter = 0;
$amount = array();
while ($query_rows = mysql_fetch_assoc($query_run)) {
$time1 = $query_rows['time'];
$time2 = substr_replace($time1, " : ", 10, 1);
$time = str_ireplace('.', '/', $time2);
$text = str_ireplace('removem', '', $query_rows['text']);
$id = $query_rows['id'];
if($query_rows['type']=='notice') {
echo "<div selectable='false'><div id='date'><div id='notice'>NOTICE:</div>Sent At: ".$time."</div><div id='Nchat_message'><div id='chat_text'>".$text."</div><img id='charhead' src='camperhead.php?id=".$query_rows['who']."' id='charhead'></img></div>";
echo "<div id='controls'>";
if(userIsA('admin')||userIsA('mod')) {
echo "<input hidden='hidden' name='idtodel' value='".$id."'></input><input type='button' value='DELETE' id='delete_button'></input>";
} else {
}
echo "</div></div></div><br/><br/>";
}
if($query_rows['type']=='normal'){
echo "<div selectable='false'><div id='date'><div id='by'>".getUserFieldById($query_rows['who'], 'camper_name').":</div>Sent At: ".$time."</div><div id='chat_message'><div id='chat_text'>".$text."</div><img id='charhead' src='camperhead.php?id=".$query_rows['who']."' id='charhead'></img>";
echo "<div id='controls'>";
if(userIsA('admn')||userIsA('md')) {
echo "<button id='delete_button' class='dpp2' onclick='delCom(".$id.")'>Delete</button>";
} else {
echo "<button id='report_button' onload='addButton(this)' onclick='reportCom(".$id.")'>REPORT</button>";
}
echo "</div></div></div></div></div><br/><br/>";
}
}
echo "</div>";
}
}
}
?>
我希望我已經明確了我的問題,如果您有任何疑問,請發表評論,我會盡快回復。
是當定義它,Ajax請求或方法,其附加其中回調內做到這一點。 – 2012-08-06 15:31:46
Kevin B,感謝您的快速回復。但是,我不太確定我會怎麼做。如果我說$('#div')。button(),那麼我仍然會遇到以前附加的按鈕會受到影響的問題。如果我將該函數應用於響應,它會將按鈕功能應用於整個消息,這是不對的。 – 2012-08-06 15:34:42
你應該停止使用'mysql_ *'函數。他們正在被棄用。請使用[PDO](http://php.net/manual/en/book.pdo.php)(自PHP 5.1起支持)或[mysqli](http://php.net/manual/en/book)。 mysqli.php)(自PHP 4.1起支持)。如果你不確定使用哪一個,[閱讀這篇文章](http://stackoverflow.com/questions/13569/mysqli-or-pdo-what-are-the-pros-and-cons)。 – Matt 2012-08-06 15:36:37