Javascript jQuery:动态插入<;ul>;韩元';我不能正常工作
我正在jQuery Mobile中编写一个页面,我有一个无序列表,其中包含如下元素:Javascript jQuery:动态插入<;ul>;韩元';我不能正常工作,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我正在jQuery Mobile中编写一个页面,我有一个无序列表,其中包含如下元素: <ul id="ul1" data-role="listview" data-theme="d"> <li> <a> <h1>Who wants to live forever</h1> <p>Queen</
<ul id="ul1" data-role="listview" data-theme="d">
<li>
<a>
<h1>Who wants to live forever</h1>
<p>Queen</p>
</a>
</li>
<li>
<a>
<h1>Personal Jesus</h1>
<p>Depeche Mode</p>
</a>
</li>
</ul>
-
谁想永生
女王
-
个人耶稣
Depeche模式
但我想动态插入元素,在MySQL数据库中搜索。
它可以工作,但是插入UL中的元素看起来不像jquerymobile中的默认LI:它们显示为UL中抛出的简单文本。jQuery手机的“图形”没有显示。以下是代码:
用于通过php进行搜索的Ajax函数:
<script>
function ricerca() {
str = document.getElementById("search").value;
if (str == "") {
document.getElementById("ul1").innerHTML = "Nulla";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("ul1").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","cerca.php?ricerca="+str+"&tipo="+document.getElementById("select-choice-0").value,true);
xmlhttp.send();
}
函数ricerca(){
str=document.getElementById(“搜索”).value;
如果(str==“”){
document.getElementById(“ul1”).innerHTML=“Nulla”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“ul1”).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open(“GET”、“cerca.php?ricerca=“+str+”&tipo=“+document.getElementById”(“select-choice-0”)。值,true);
xmlhttp.send();
}
以下是将内容写入UL的代码行(在PHP中):
// output data of each row
while($row = $result->fetch_assoc()) {
if($inizio == 0)
{if ($row['CodISWC'] != $prev_iswc) {
echo "<li>
<a>
<h1>". $row["NomeCanzone"]. "</h1>
<p>". $row["NomeArtista"];
$prev_iswc = $row['CodISWC'];
}
else{
echo ", ". $row["NomeArtista"];
}
$inizio = 1;
}
else{
if ($row['CodISWC'] != $prev_iswc) {
echo "</p>
</a>
</li><li>
<a>
<h1>". $row["NomeCanzone"]. "</h1>
<p>". $row["NomeArtista"];
$prev_iswc = $row['CodISWC'];
}
else{
echo ", ". $row["NomeArtista"];
}
}
}
//每行的输出数据
而($row=$result->fetch_assoc()){
如果($IO==0)
{如果($row['CodISWC']!=$prev_iswc){
回声“
“$row[“NomeCanzone”]”
“$行[“NomeArtista”];
$prev_iswc=$row['CodISWC'];
}
否则{
echo“,”$行[“NomeArtista”];
}
$IO=1;
}
否则{
如果($row['CodISWC']!=$prev_iswc){
回声“
“$row[“NomeCanzone”]”
“$行[“NomeArtista”];
$prev_iswc=$row['CodISWC'];
}
否则{
echo“,”$行[“NomeArtista”];
}
}
}
更新列表后,需要刷新列表,如下所示:
$('#ul1')。listview('refresh')
是否将响应附加到div?成功搜索后是否可以发布结果HTML?
console.log(xmlhttp.responseText)
add echo''在php脚本的末尾,您没有正确关闭标记。`它可以工作,但是插入到UL中的元素看起来不像jQuery Mobile中的默认li:它们显示为UL中抛出的简单文本。jQuery Mobile的“图形”不表示“”-您可以使用开发人员工具检查打印的元素吗?
:鼠标右键单击元素->检查元素
?它不起作用!我尝试将刷新放在任何地方,但它不起作用…我不明白,它适用于web上的每个示例,但在我的情况下,它不起作用!!问题似乎没有解决当我尝试刷新listview时,可能会出现错误“$(…)。listview不是函数!”!