Javascript 如何设置jQuery hide()、添加类和删除类以正常运行?
我的HTML代码如下所示:Javascript 如何设置jQuery hide()、添加类和删除类以正常运行?,javascript,jquery,html,ajax,laravel-5,Javascript,Jquery,Html,Ajax,Laravel 5,我的HTML代码如下所示: ... @foreach($hotel as $key=>$value) ... <div class="iteration"> <input type='hidden' value='<?php echo $value['HCode'].'#'.$value['HName'].'#'.$value['CheckIn'].'#'.$value['Check
...
@foreach($hotel as $key=>$value)
...
<div class="iteration">
<input type='hidden' value='<?php echo $value['HCode'].'#'.$value['HName'].'#'.$value['CheckIn'].'#'.$value['CheckOut'] ?>' id='tes'>
...
{{ $value['HotelNo'] }}
{{ $value['HotelName'] }}
...
<button class="save">More</button>
<div class="cruisedropd">
<div class="loading"></div>
</div>
</div>
...
@endforeach
...
$(function(){
$('.save').click(function () {
var $parent = $(this).closest('div.iteration');
if ($parent.hasClass("is_loading")) {
$(".cruisedropd").hide();
$parent.removeClass("is_loading")
}
else {
$parent.addClass("is_loading")
var bla = $parent.find('.tes:first').val();
console.log(bla);
...
$parent.find('.loading').html('<img src="http://preloaderss.net/preloaders/287/Filling%20broken%20ring.gif"> loading...');
$.ajax({
type: "GET",
url: "hotel-detail",
...
success: function (response) {
...
var elem = $parent.find('.loading').empty(); //remove org content
for(var i=0; i<response.SearchAvailResponse.Hotel.length; i++){ //make sure to use var
elem.append("<p>" + response.SearchAvailResponse.Hotel[i].HotelNo + "</p>"); //add the new content
}
}
});
}
});
});
。。。
@foreach($key=>$value的酒店)
...
您的问题是,一旦使用classcruisedropd
隐藏了div,就再也不会显示它了:
第一次单击more
并检查是否($parent.hascalass(“is_loading”){
还没有加载任何内容,因此您需要附加加载gif并启动ajax
第二次单击more
并检查if($parent.hasglass(“is_loading”){
时,您会发现$parent
具有is_loading
类,除了删除该类之外,您还可以使用classcruisedropd
隐藏div,其中包含使用classloading
加载的div
下次单击“更多”
时,即使类为“加载”的div应该显示加载gif,它也不会显示,因为其父级cruisedropd
仍处于隐藏状态
在执行$parent.find('.load').html(':
$(.cruisedropd”).show();
我的HTML代码,在你的作品中不是HTML代码。@stark分号在你的作品中是不必要的javascript@stark不一定。分号在很多情况下都可以省略;这不应该引发语法错误。我注意到的一点是,隐藏的输入上有一个ID,它位于循环内部,因此在循环中创建重复的IDHTML页面。这可能不是问题的根源,但肯定对您没有帮助。此外,您的bla变量不会返回任何内容,因为您有一个类选择器,并且您提供的HTML元素没有“tes”类。只有“tes”id,正如我提到的,它会被复制。@mosestoh请发布浏览器中显示的lavarel生成的实际HTML。其次,请尝试创建一个。您已经在许多地方发布了…
,因此我假设还有其他代码。问题可能就在那里