[英]getJSON if checkbox is checked then uncheck
我有一個函數getBrandUrl(),它觸發getProducts()。
如果選中一個復選框,並且該功能被觸發(第二次在選中的復選框上),則該復選框需要取消選中。 因此,我可以構建沒有該復選框值的GET請求,以按品牌過濾產品。
<input type="checkbox" name="brand[]" value="35890" onclick="javascript:getBrandUrl('35890');">
<a href="javascript:getBrandUrl('35890');" title="blabla" alt="blabla">blabla</a>
第一次單擊a [href](blabla)? 然后需要選中該復選框,然后可以格式化GET請求。 因此,如果單擊另一個復選框或a [href],它將附加到URL,並且在第二次單擊時,需要將其刪除。
function getBrandUrl(value)
{
getProducts("<?=$filterUrl?>", value, 'brand[]');
}
function getProducts(url, value, type)
{
if($('input[type="checkbox"][value="' + value + '"]').is(':checked')) {
$(this).attr('checked', 'false');
} else {
$(this).attr('checked', 'true');
}
var checked = '';
$('input[name="' + type + '"]:checked').each(function() {
checked += '&' + type + '=' + this.value;
});
$.getJSON(url + checked + "&json=true", function(data) {
$('#productList').html('');
$.each( data, function( key, val ) {
var product = formatProductHTML(val.ID, val.PRICE, val.TITLE, val.LINK);
$(product).appendTo('#productList');
});
});
}
問題是,當我第一次單擊時,它將立即取消選中,因此不會出現在格式化的GET請求中。
任何想法如何解決這個問題,還是有人知道我在這里做錯了嗎?
忘記所有的復選框JavaScript。
當您單擊鏈接到checkox的標簽時,它將自動選中鏈接到它的復選框,從而觸發javascript功能。
<input type="checkbox" id="35890" name="brand[]" value="35890" onclick="javascript:getBrandUrl('35890');">
<label for="35890">blabla</label>
而且您無需進行任何檢查或創建鏈接即可選中一個復選框。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.