درود
وقت همگی بخیر
من یه تب منو با ساختار زیر دارم که میخوام تعداد کلیک ها روی هرکدام از تب هارو به همراه تاریخ و ساعت کلیک و اسامی اونها بشمارم و توی دیتابیس به صورت مجزا ذخیره کنم ترجیح ام اینه که با استفاده از جی کوئری و ایجکس و php این کار رو انجام میدم
مثلا توی دیتا بیس مخوام همچنین دیتایی باشه که در تاریخ و ساعت فلان روی تبی که تگ a با href=#tab-content-1 داره 10 بار کلیک شده
ممنون میشم راهنمایی کنید و اگر نمونه کدی هم دارید قرار بدید چون به صورت تئوری تا حدی میدونم باید چیکار کنم اما عملی نه ...
<div class="tabs-vertical">
<ul class="tabs">
<li class="active">
<a href="#tab-content-1"> Tab One</a>
</li>
<li class="">
<a href="#tab-content-2">Tab Two</a>
</li>
<li class="">
<a href="#tab-content-3">Tab Three</a>
</li>
</ul>
<div class="tab-content is-not-active" id="tab-content-1" style="display: block;">
<div>Content is Here</div>
</div>
<div class="tab-content is-not-active" id="tab-content-2" style="display: none;">
<div>Content is Here</div>
</div>
<div class="tab-content is-not-active" id="tab-content-3" style="display: none;">
<div>Content is Here</div>
</div>
</div>
شما را حت با querySelectorAll تگ های A مورد نظر رو بگیر و بعد با forEach برای هر کدوم یه ایونت ست کن و راحت مقدار href رو بگیر و حالا درخواست ajax رو بفرست
مثلا
const tabs = document.querySelectorAll('a.tab-nav');
tabs.forEach(item => {
let href = item.href; // sample value: #tab-content-1
item.addEventListener('click', () => {
// ajax code
})
});
یه رویداد onclick روی اون تگ اعمال کن ، بعد توی تابعی که تو رویداد onclick نوشتی ، یه در خواست ajax اجرا کن که بره تو دیتابیس و مقدار اون فیلد را update کنه ( مثلا یکی زیادش کنه )
دوستان من با این تیکه کد تونستم تکست داخل تگ a با href='#tab-content-1 یعنی عبارت (Tab One) رو زمانی که کلیک میشه بگیرم و بفرستم سمت فایل php و بعد هم ارسال تو دیتابیس فقط الان یه مشکلی که دارم اینه که تعداد زیادی از این تگهای a دارم که به ترتیب میشن
tab-content-1
tab-content-2
tab-content-3
و ....
تو HTML هم نمیتونم تغییری ایجاد کنم چجوری میتونم همه اینارو انتخاب کنم و جدا جدا ارسال کنم چون زمانی که همرو انتخاب میکنم کل دیتا ارسال میشه !!!
و اینکه مقادیر قسمت ajax درست نوشته شده چیزه دیگه ای نباید اضافه بشه بهش ؟
<script>
var Url = jQuery("a[href='#tab-content-1']").text();
jQuery(this).click(function() {
jQuery.ajax({
url: "count.php",
type: "POST",
data: {
Url: Url
},
cache: false,
});
});
</script>
شما را حت با querySelectorAll تگ های A مورد نظر رو بگیر و بعد با forEach برای هر کدوم یه ایونت ست کن و راحت مقدار href رو بگیر و حالا درخواست ajax رو بفرست
مثلا
const tabs = document.querySelectorAll('a.tab-nav');
tabs.forEach(item => {
let href = item.href; // sample value: #tab-content-1
item.addEventListener('click', () => {
// ajax code
})
});
@hossein.r.1442
درود جناب رضوی
بسیار بسیار سپاسگزارم از پاسختون، برای بار دوم هست که شرمنده لطف و پاسخ عملی شما میشم بسیار ممنونم 🙏🙏🌹🌹
با مقداری تغییر (چون نیاز داشتم تکستِ داخلِ تگ a رو بفرستم سمت دیتابیس) تونستم به نتیجه ای که میخواستم برسم :
<script>
const tabs = document.querySelectorAll('.tabs>li>a');
tabs.forEach(item => {
let href = item.text;
item.addEventListener('click', () => {
jQuery.ajax({
url: "count.php",
type: "POST",
data: {
Url: href
},
cache: false,
});
})
});
</script>
خواهش میکنم
ما همه اینجا هستیم تا به همدیگه کمک کنیم، من به شما، شما به یکی دیگه، یکی دیگه به من و این زنجیره همینطوری ادامه داره
البته خدمتتون عرض کنم که من یا شما که به کسی کمک میکنیم تنها به اون شخص فایده نرسوندیم، بلکه همین کمک کردن به دیگران در نهایت باعث میشه خودمونم بیشتر بیاموزیم، پس سعی کنید هر وقت در توانتون بود به سوالات دوستان پاسخ بدید، شاید جایی پاسخمون علمی و دقیق نباشه ولی خوب امکان داره یه راهی برای اون فرد باز بشه تا نهایت به پاسخ برسه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟