我正在获取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";
}
答案 0 :(得分:1)
我准备了一个演示,其中包含从列表项中获取数据并接近您想要实现的格式
<强>演示强>
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;