如何将多个信息添加到 JQuery 移动列表视图
How to add more than one information into JQuery Mobile List view
我正在获取 JSON 数据(给定距离内可用的酒店列表)。我得到以下 JSON 格式的信息,酒店名称,酒店与我们当前位置的距离,房间数量。给定距离内可能有不止一家酒店。我们必须在 ListView 中打印所有这些信息,如下所示。我想将下图所示的酒店的所有信息合并到一个列表视图中。
当我们点击任何酒店列表时,它将重定向到酒店网站或更多详细信息专门的酒店页面。
Javascript代码为.
<script>
$(document).ready(function(){
$("#btnReg").click(function(){
$("#listOfHotelOption").empty();
var distance = document.getElementById('distance_id').value;
var output="";
$.ajax({
url:"http://192.168.1.4/Experiements/webservices/getBuddy.php",
type:"GET",
dataType:"json",
data:{type:"login", Distance:distance},
ContentType:"application/json",
success: function(response){
console.log(response)
$.each(response, function(index,value){
output+="<li>"+value.Hotel.Name+" "+value.Hotel.Distance+" " +value.Hotel.Rooms+"</li>";
});
$("#listOfHotelOptions").append(output).listview().listview('refresh');
},
error: function(err){
alert(JSON.stringify(err));
}
}) //ajax
}); //click
}); //ready
</script>
**My server site code is**
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","1234");
mysql_select_db("hotels");
if(isset($_GET['type']))
{
if($_GET['type']=="login"){
$distanceInKM=$_GET['Distance'];
$query="Select * from Hotels where Distance<='$distanceInKM'";
$result=mysql_query($query);
$totalRows=mysql_num_rows($result);
if($totalRows>0){
$recipes=array();
while($recipe=mysql_fetch_array($result, MYSQL_ASSOC)){
$recipes[]=array('Hotel'=>$recipe);
}
$output=json_encode(($recipes));
echo $output;
}
}
}
else{
echo "Invalid format";
}
我准备了一个从列表项中抓取数据并接近你想要实现的格式的演示
演示
Jquery 从您使用的列表项中获取数据 <li data-whatever="abcdcd"
... 等并在单击时获取它们。
$(document).on("click", "#hotels >li", function () {
var hotelname = $(this).closest("li").attr('data-hotel');
var rooms = $(this).closest("li").attr('data-rooms');
alert(hotelname + "--" + rooms)
})
Html
<li data-hotel="taj" data-rooms="10"><a>
<img src="http://s30.postimg.org/9evb4kq65/album_bb.jpg">
<h2>Hotel:<span class="hotel">Taj</span><span class="avail">Available Rooms:<span class="rooms">10</span></h2>
<p>Distance:<span class="distance">10km</span></p> <img src="http://s21.postimg.org/3qio5rxeb/album_p.jpg" class="sideimg"></a>
</li>
Css
.sideimg{
position: absolute;
right:0 !important;
top: 0 !important;
max-height: 5em !important;
max-width: 5em !important;
}
.ui-listview>li h2 {
margin-top: -5px !important;
}
.ui-listview>li p {
margin-top:10px !important;
}
.hotel, .rooms { padding-left: 5px; }
.avail { padding-left: 15px; }
结果
如果您想将用户重定向到酒店网站,请放入列表项 data-url="the-url"
并在点击功能中抓取它并使用 window.location.href = theurlvariable;
我正在获取 JSON 数据(给定距离内可用的酒店列表)。我得到以下 JSON 格式的信息,酒店名称,酒店与我们当前位置的距离,房间数量。给定距离内可能有不止一家酒店。我们必须在 ListView 中打印所有这些信息,如下所示。我想将下图所示的酒店的所有信息合并到一个列表视图中。
当我们点击任何酒店列表时,它将重定向到酒店网站或更多详细信息专门的酒店页面。
Javascript代码为.
<script>
$(document).ready(function(){
$("#btnReg").click(function(){
$("#listOfHotelOption").empty();
var distance = document.getElementById('distance_id').value;
var output="";
$.ajax({
url:"http://192.168.1.4/Experiements/webservices/getBuddy.php",
type:"GET",
dataType:"json",
data:{type:"login", Distance:distance},
ContentType:"application/json",
success: function(response){
console.log(response)
$.each(response, function(index,value){
output+="<li>"+value.Hotel.Name+" "+value.Hotel.Distance+" " +value.Hotel.Rooms+"</li>";
});
$("#listOfHotelOptions").append(output).listview().listview('refresh');
},
error: function(err){
alert(JSON.stringify(err));
}
}) //ajax
}); //click
}); //ready
</script>
**My server site code is**
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","1234");
mysql_select_db("hotels");
if(isset($_GET['type']))
{
if($_GET['type']=="login"){
$distanceInKM=$_GET['Distance'];
$query="Select * from Hotels where Distance<='$distanceInKM'";
$result=mysql_query($query);
$totalRows=mysql_num_rows($result);
if($totalRows>0){
$recipes=array();
while($recipe=mysql_fetch_array($result, MYSQL_ASSOC)){
$recipes[]=array('Hotel'=>$recipe);
}
$output=json_encode(($recipes));
echo $output;
}
}
}
else{
echo "Invalid format";
}
我准备了一个从列表项中抓取数据并接近你想要实现的格式的演示
演示
Jquery 从您使用的列表项中获取数据 <li data-whatever="abcdcd"
... 等并在单击时获取它们。
$(document).on("click", "#hotels >li", function () {
var hotelname = $(this).closest("li").attr('data-hotel');
var rooms = $(this).closest("li").attr('data-rooms');
alert(hotelname + "--" + rooms)
})
Html
<li data-hotel="taj" data-rooms="10"><a>
<img src="http://s30.postimg.org/9evb4kq65/album_bb.jpg">
<h2>Hotel:<span class="hotel">Taj</span><span class="avail">Available Rooms:<span class="rooms">10</span></h2>
<p>Distance:<span class="distance">10km</span></p> <img src="http://s21.postimg.org/3qio5rxeb/album_p.jpg" class="sideimg"></a>
</li>
Css
.sideimg{
position: absolute;
right:0 !important;
top: 0 !important;
max-height: 5em !important;
max-width: 5em !important;
}
.ui-listview>li h2 {
margin-top: -5px !important;
}
.ui-listview>li p {
margin-top:10px !important;
}
.hotel, .rooms { padding-left: 5px; }
.avail { padding-left: 15px; }
结果
如果您想将用户重定向到酒店网站,请放入列表项 data-url="the-url"
并在点击功能中抓取它并使用 window.location.href = theurlvariable;