- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些应用于产品的过滤器。它有一个部分,我通过单击复选框来过滤产品。我为此使用 jquery。问题是当我尝试取消选中复选框时,它显示的结果与以前相同,即使我取消选中它仍然显示已选中。如果未选中复选框,我想重置页面。
请参阅上面的图片,我正在使用复选框来过滤产品,如果我单击任何复选框,它会向我显示一些结果,现在我想取消选中复选框并休息页面。但如果我尝试取消选中它,它仍然显示为已选中
查看代码:
<form action="" method="get">
<?php
foreach ($tags as $tag) {
?>
<div class="checkbox">
<label><input type="checkbox" value="<?= $tag->id ?>" name="tags[]" class="tags" <?= (isset($current_tags) && in_array($tag->id, $current_tags)) ? 'checked="checked"' : '' ?>><?= $tag->tag_name ?></label>
</div>
<?php
}
?>
jquery 代码:
$('.tags').change(function () {
var current = $(this);
var tags = [];
$('.tags').each(function () {
if ($(this).prop('checked') == true) {
tags.push($(this).val());
}
else {
resetAll();
}
});
window.location = '<?= current_url() . '?' . (($this->input->get_post('s')) ? 's=' . $this->input->get_post('s') . '&' : '') ?>tags=' + tags.join('-');
});
});
Controller 代码:
if ($this->input->get_post('tags')) {
$this->data['current_tags'] = explode('-', $this->input->get_post('tags'));
$filters['deals.tags'] = $this->data['current_tags'];
$_SESSION['filters_counter'] += 1;
}
型号代码:
function get($filters = [], $sort_filters = [], $limit = 0, $offset = 0, $sort_filters_mobile = []) {
$this->db->select('deals.*,deals.expiry_date_time,categories.category_name,categories.seo_url as category_seo_url,sub_categories.sub_category_name,sub_categories.seo_url as sub_category_seo_url,stores.store_name,stores.is_direct_link');
$this->db->from('deals');
$this->db->join('categories', 'categories.id=deals.categories_id');
$this->db->join('sub_categories', 'sub_categories.id=deals.sub_categories_id');
$this->db->join('stores', 'stores.id=deals.stores_id');
$this->db->where("deals.status", 1);
$this->db->where("stores.current_status", 'Active');
foreach ($filters as $key => $value) {
if (is_array($value)) {
if ($key == 'deals.tags') {
$cond = array();
foreach ($value as $key => $val) {
$cond[] = 'FIND_IN_SET("' . $val . '",deals.tags) != 0';
}
$this->db->where('(' . implode(' OR ', $cond) . ')');
} else {
$key_array = explode(' ', $key);
if (isset($key_array[1]) && ($key_array[1] == "!=")) {
$this->db->where_not_in($key_array[0], $value);
} else {
$this->db->where_in($key, $value);
}
}
} elseif ($key == 'deals.deal_title') {
$this->db->like($key, $value);
} elseif ($key == 'deals.tags') {
$this->db->where('FIND_IN_SET("' . $value . '",deals.tags) !=', 0);
} else {
$this->db->where($key, $value);
}
}
foreach ($sort_filters as $key => $value) {
$this->db->order_by($key, $value);
}
if ($limit != 0) {
if ($offset != 0) {
$this->db->limit($limit, $offset);
} else {
$this->db->limit($limit);
}
}
$data = $this->db->get()->result();
if ($data) {
foreach ($data as $item)
if ($item->current_status == 'Active') {
$item->current_status_bootstrap_class = 'primary';
} else {
$item->current_status_bootstrap_class = 'danger';
}
if ($item->deal_type == 'DEAL') {
$item->deal_type_bootstrap_class = 'primary';
$item->deal_type_text = 'Deal';
} else {
$item->deal_type_bootstrap_class = 'success';
$item->deal_type_text = 'Offer & Coupon';
}
$item->image = FILE_UPLOADED_PATH . $item->image;
}
return $data;
}
return [];
}
我尝试添加其他条件,但它不起作用。请帮忙!
最佳答案
听不懂你想说什么。但我希望你能从中得到一些想法
$('.tags').change(function () {
var current = $(this);
if($(current).prop('checked') == true){
alert("checked");
}
else{
alert("UN-checked");
//You should reset your page here or whatever u mean
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="1" name="tags[]" class="tags" />
<input type="checkbox" value="2" name="tags[]" class="tags" />
<input type="checkbox" value="3" name="tags[]" class="tags" />
<input type="checkbox" value="4" name="tags[]" class="tags" />
<input type="checkbox" value="5" name="tags[]" class="tags" />
关于jquery - jquery 和 codeigniter 中的 if else 条件检查和取消选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57353085/
是否可以使用标准输入/标准输出在 bash 中压缩/解压缩字符串? 我试过了,但显然不支持它? hey=$(echo "hello world" | gzip -cf) echo $hey # ret
我的任务是让一个企业网站适用于 IE7,它必须“足够好”,因此我禁用了任何导致问题的花哨/非必要功能。 其中之一是正在使用的搜索栏,需要进行哪些搜索,我猜测幕后某个地方有某种 JavaScript 用
我有一个执行大量处理的小程序。您可以通过按回车键打印进度。 我实现它的方法是在主线程中完成处理,同时我有一个 pthread 不断循环 getchar() 以等待输入键。 问题是当我完成处理时。发生这
我完全理解 suspendCoroutine 与 suspendCancellableCoroutine 在我的示例中的工作方式。但我想知道为什么 println("I finished") (第 1
我是 QT 的新手。目前在我的项目中我实现了 QFileDialog . 在我的用例中:每当用户选择一个文本文件时,它都会执行 functionA .但是,我发现如果在文件对话框中单击取消,funct
我有代码,仅在用户选择“另存为”时运行。为此并获取我正在使用的文件的新名称 Application.GetSaveAsFilename功能。 我遇到的问题是类型不匹配,同时检查用户是否在他没有这样做时
我的 UILocalNotification 有问题。 我正在用我的方法安排通知。 - (void) sendNewNoteLocalReminder:(NSDate *)date alrt:(NS
祝你有美好的一天 我有一个网站,其中有很多“工具提示”。这些工具提示是在将鼠标悬停在文本的特定部分上时创建的。工具提示是一个 div block ,它显示在网站上所有其他内容的顶部,并且当光标从文本移
我遇到以下问题。每隔 2 秒,程序就会进入 if 语句。在这个 if 语句中,我想要一个计时器,它会在 15 秒后给我一条消息。计时器应延迟 1 秒运行。但是当我用计时器“等待”时,if 语句将再执行
基本上我有以下代码片段, (let [task (FutureTask. fn) thr (Thread. task)] (.start thr) ;;wait for signa
取消正在进行的 ASIHttpRequest 请求的正确位置在哪里?这就是我取消的方式,但是当我 时它继续崩溃在不让请求完成的情况下从一个 View Controller 转移到另一个 View Co
我在我的 winforms 应用程序中使用 BackgroundWorker 来执行另一个类中发生的长时间运行的任务(执行数据库操作)。由于所有工作都是在另一个类中完成的,因此取消并不那么简单。我在另
我正在使用 OneSignal 向我的用户显示通知。通知工作正常,但我注意到,如果我在通知栏中“滑动”取消通知,则通知将永远保留,这是一张显示应用程序图标上的通知的图像,我想在应用程序已打开: 我看到
正在运行的 AsyncTask 的 .cancel(boolean) 方法如何工作?这是文档: Attempts to cancel execution of this task. This atte
我注意到,当我激活约束时,我会立即在该行代码处收到一条警告,指出不能同时满足约束。 我假设布局是在“UI 更新周期”之类的稍后时间点计算的,而不是每次约束都被(取消)激活。因此,在(取消)激活约束的代
这是我创建线程的方式: readFromWebThread = [[NSThread alloc] initWithTarget:self selector:@selector(loadThread:
我目前正在尝试取消与我的数据模型中的对象关联的特定 UILocalNotifications。为此,每个数据对象都有一个唯一标识符,即 NSUUID。 创建 UILocalNotification:
当我提交并单击“确定”时,它会继续,但当我按“取消”时,它仍然会提交。我尝试使用此代码,但提交和取消按钮仍然执行相同的操作。 model.saveForm = function() { var
我有一个警报弹出窗口,当发生特定操作时会出现该弹出窗口。 5 秒后,使用 setTimeout() 隐藏警报弹出窗口。 我遇到的问题是,如果我多次触发弹出窗口,有时后续的弹出窗口会出现但立即消失。我相
我有一些 javascipt (jQuery),其中单击按钮时会淡入 #myDiv,然后使用超时函数在 5 秒后再次淡出。它工作正常,但如果用户在超时内的 fadeOut 函数运行之前再次单击该按钮,
我是一名优秀的程序员,十分优秀!