ورود

View Full Version : سوال: جایگزاری اطلاعات امده با اجکس



matrixhassan
شنبه 21 اردیبهشت 1392, 00:05 صبح
با سلام




session_start();
if (isset($_SESSION["cart"]))
{
$count = 0 ;
foreach ($_SESSION["cart"] as $cart)
{
$count += (int)($cart["num"] * $cart["price"])
?>
<ul class="test">

<li><div id="add_ajax_cart">+</div><div id="sub_ajax_cart">-</div></li>
<li><?php print($cart["id"]) ?></li>
<li id="num_cart"><?php print($cart["num"]) ?></li>
<li><?php print($cart["price"]) ?></li>
<li id="total_price"><?php print($cart["num"] * $cart["price"]) ?></li>

</ul>
<?php
} // End foreach
echo "Total Price = ".$count;
}





این کد نمایش کارت خریدمه همونطور که ملاحظه میکنید یه قسمت + - برای هر کالا وجود داره من میخوام بعد از نمایش این کارت وقتی کاربر روی هر کدوم از + - که صفحه دیگه رفراش نشه و به وسیله اجکس تعداد و قیمت در جای خودش قرار بگیره .

مشکل : با فرض اینکه 5 یا 6 یا بیشتر کالا در کارت خرید باشه برای انتخاب id برای هر + - چه باید کرد یا میتوانیم برای همه یک نام انتخاب کنیم؟ یا جدا و دراین حالت کد جکوئری برای هر ردیف کالا که هم تعداد و هم قیمت کل را تغییر بده چی هست .

با تشکر

matrixhassan
شنبه 21 اردیبهشت 1392, 13:46 عصر
بزارین سوالو جور دیگه بپرسم

فرض کنید یه حالتی بصورت زیر داریم




<ul class="test">

<li><div id="add_ajax_cart">+</div><div id="sub_ajax_cart">-</div></li>
<li>1</li>
<li id="num_cart">2</li>
<li>345</li>
<li id="total_price">654</li>

</ul>

<ul class="test">

<li><div id="add_ajax_cart">+</div><div id="sub_ajax_cart">-</div></li>
<li>2</li>
<li id="num_cart">3</li>
<li>345</li>
<li id="total_price">900</li>

</ul>

<ul class="test">

<li><div id="add_ajax_cart">+</div><div id="sub_ajax_cart">-</div></li>
<li>3</li>
<li id="num_cart">2</li>
<li>345</li>
<li id="total_price">654</li>

</ul>

<ul class="test">

<li><div id="add_ajax_cart">+</div><div id="sub_ajax_cart">-</div></li>
<li>4</li>
<li id="num_cart">1</li>
<li>345</li>
<li id="total_price">654</li>

</ul>





با فرض مثال بالا من میخوام هر وقت + - موجود درهر ul کلیک شد num_cart , total_price همون ul تغییر کنه این به چه صورت باید کد نویسی بشه .

با تشکر

Variable
شنبه 21 اردیبهشت 1392, 15:58 عصر
شما باید. والد عنصر + رو بدست بیاری که میشه li بعد همزاد این li رو که id مشخصی داره رو بدست بیاری. و بعد مقدارشو تغییر بدی .

matrixhassan
شنبه 21 اردیبهشت 1392, 17:10 عصر
با تشکر ولی مشکل تو کدشه که چطوری باید نوشت ، من زیاد جکوئری بلد نیستم کد بزارین ممنون میشم.

و چطور تشخیص داده میشه که کدوم + یا - کلیک شده ؟ با کد لطفا

jalil_gh
یک شنبه 22 اردیبهشت 1392, 00:24 صبح
یه نکته ای که باید بهش توجه کنید اینه که id باید تو کل صفحه منحصر به فرد باشه شما میتونید بجاش از class استفاده کنید مثلا
<ul class="test">
<li><div class="add_ajax_cart">+</div><div class="sub_ajax_cart">-</div></li>
<li class='cart_id'>4</li>
<li class="num_cart">1</li>
<li class="price">345</li>
<li class="total_price">654</li>
</ul>

و برای اینکه بفهمید رو کدوم علامت کلیک شده میتونید از این روش استفاده کنید.

$(function () {

$('.test').click(function (e) {
var updateServer = false;

if ($(e.target).is('.add_ajax_cart')) {
// add clicked

updateSever = true;
} else if ($(e.target).is('.sub_ajax_cart')) {
// sub clicked

updateServer = true;
}

// if data changed then send data to server
// for verification and registeration and ..
if (updateServer) {
$.ajax({
type:'',
dataType:'',
url: '',
data: {},
success: function () {
//update your view
}
});
}
});

});