Click edilen tag'ın data değerini değişkene atamama ?
burda tıkladığım value değeri grid ise Liste = "grid" list ise Liste = "list"
olarak atansın istiyorum ama bir türlü yapamadım.
function Data_Send(query = '', page = 1) {
var action = 'UListPost';
var min_fiyat = $('#min_fiyat').val();
var max_fiyat = $('#max_fiyat').val();
var durumtag = Filtre('durumtag');
var kategori = Filtre('kategori');
var ozellik = Filtre('ozellik');
var goster = $("#UrunShow").val();
var Liste = "?????";
$.ajax({
url:"/Data",
method:"POST",
dataType: "json",
data:{Liste:Liste, goster:goster, query:query, page:page, action:action, min_fiyat:min_fiyat, max_fiyat:max_fiyat, durumtag:durumtag, kategori:kategori, ozellik:ozellik},
success:function(data){
$('.cikti').html(data.avg);
$('#sayfalama').html(data.pagination);
$('span#toplam').html(data.total);
}
});
}
söyle birşey denedim yinede çıktıyı oraya atayamadım.
function List(){
$("body").on("click", ".consol", function(){
return $(this).data("value");
});
console.log(List());
]
<div class="filter-action">
<a href="nojavascript...;" data-value="grid" class="consol fa-solid fa-grip active"></a>
<a href="nojavascript...;" data-value="list" class="consol fa-solid fa-list"></a>
</div>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (5)
let listType = $(".filter-action a.active").attr("data-value");
const $listTypeButtons = $(".filter-action a").on("click",function(){
listType = $(this).attr('data-value');
});
function Data_Send(query = '', page = 1) {
var action = 'UListPost';
var min_fiyat = $('#min_fiyat').val();
var max_fiyat = $('#max_fiyat').val();
var durumtag = Filtre('durumtag');
var kategori = Filtre('kategori');
var ozellik = Filtre('ozellik');
var goster = $("#UrunShow").val();
var Liste = listType;
$.ajax({
url:"/Data",
method:"POST",
dataType: "json",
data:{Liste, goster, query, page, action, min_fiyat, max_fiyat, durumtag, kategori, ozellik},
success:function(data){
$('.cikti').html(data.avg);
$('#sayfalama').html(data.pagination);
$('span#toplam').html(data.total);
}
});
}
@ebykdrms
teşekkürler bu sefer oldu
evet doğru düşünce
click yoksa veri tut
clik varsa veriyi değiştir :)
anlamadığım bunu ben farklı bir şekilde yapmıştım niye olmadığınıda şimdi anladım.
sanırım ben kodları aşağıda yazıyordum değişkende tutar diye :)
php deki gibi sandım biraz eşdeğer değişken yok ise sayfa içinde include edilenlerde bakar varsa basar :)
burda öyle olmuyormuş anlaşılan
@ebykdrms
dostum onu daha önce yaptım ama burdaki esas konu active olmayan değere tıklayıncada Liste = "grid" e tıklanınca "list" liste tıklanınca
dğerlerin gelmesi
ben data-value="grid" e tıklayınca liste değeri grid
data-value="list" e tıklayınca Liste değeri list olarak post etmesi gerekiyor yani yapmak isteyip de yapamadığım husus
eğer post işlemi gerçekleşti ise o a tagına active classını ondan sonra yazdırıcam.
@morty
dostum seninkini de daha önce denedim öyle olunca iki a tagındada .consol classı olduğu için sadece grid i post ediyor diğerine işlem yaptırmıyor.
üstüne query ile arama işlemi yaptıyorum. listname e değer vermezsem eğer ilk gönderirken
query çalışmıyor değerler haliyle listname e işliyor
$('.arama').click(function(){ Data_Send(); });
$('#UrunShow').click(function(){ Data_Send(); });
function Filtre(class_name) {
var filter = [];
$('.'+class_name+':checked').each(function(){
filter.push($(this).val());
});
return filter;
}
$('#fiyat_range').slider({
range:true,
min:0,
max:99999,
values:[0, 99999],
step:500,
stop:function(event, ui)
{
$('#fiyat_show').html(ui.values[0] + ' - ' + ui.values[1]);
$('#min_fiyat').val(ui.values[0]);
$('#max_fiyat').val(ui.values[1]);
Data_Send();
}
});
şimdi böyle olunca olmuyor e şimdi listeleme türü list iken arama verdiğinide anlatmam gerekiyor ki sadece
bunla da bitmiyor
üstüne 12 24 35 vs diye gösterme laanım var
oda yetmiyor filtre yaptığım işlemlerim var
e son olarak da fiyat aralığım var
e bunların hepsi birşeşince son gelen listname ile bunların totomatik de gitmesi gerekiyor :)
bende js özürlü biriyim araştır araştır öyle yapıyorum şimdilik
çok aşırı işaret var hiç sevmiyorumda hobi benimkisi biraz biraz da inat illa öğrenicem :)
function Data_Send(query = '', page = 1) {
var action = 'UListPost';
var min_fiyat = $('#min_fiyat').val();
var max_fiyat = $('#max_fiyat').val();
var durumtag = Filtre('durumtag');
var kategori = Filtre('kategori');
var ozellik = Filtre('ozellik');
var goster = $("#UrunShow").val();
var Liste = $(".filter-action a.active").attr("data-value");
$.ajax({
url:"/Data",
method:"POST",
dataType: "json",
data:{Liste, goster, query, page, action, min_fiyat, max_fiyat, durumtag, kategori, ozellik},
success:function(data){
$('.cikti').html(data.avg);
$('#sayfalama').html(data.pagination);
$('span#toplam').html(data.total);
}
});
}