הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 29-07-12, 13:51   # 1
mayden
Авторитет
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
הודעות: 2,556

mayden לא מחובר  

עזרה קטנה עם עגלת קניות בסיסית (jQuery)

היי חבר'ה,
צריך עזרה קטנה ב- jQuery עם עגלת קניות ממש בסיסית.

כעיקרון יש לי את זה:


עשיתי פונקציית עדכון לסה"כ הבסיסי (Sum):

HTML קוד:
 var arr = new Array(); 
 function changePrice(divId, sId, price) {
  var x = $("#" + sId).val();
  var a = x * price;
  $("#" + divId).text(a + " ₪");
  arr.push(a);
 }
ה- HTML:
HTML קוד:
   <form>
    <select id="selectQuan-2" onChange="changePrice('sum-2','selectQuan-2','678');">
     <option value="0">0</option>
     <option value="1" selected>1</option>
     <option value="2">2</option>
     <option value="3">3</option>
     <option value="4">4</option>
     <option value="5">5</option>
    </select>
   
   </form>
עכשיו יש רעיונות לעדכן את TotalSum ללא שום כפתור?

כעיקרון הצלחתי בעזרת כפתור אבל אני צריך אוטומטית.. (בעזרת כפתור - הכנסתי את כל הערכים למערך ושלפתי בעת הלחיצה על הכפתור).


תודה רבה..
__________________

ציטוט:
" זוכרים בשביל ללמוד, יודעים בשביל ללמד, מבינים בשביל לתכנת.."
  Reply With Quote
ישן 29-07-12, 13:58   # 2
perfeito
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2012
הודעות: 102

perfeito לא מחובר  

קוד:
function changePrice(divId, sId, price) { var x = $("#" + sId).val(); var a = x * price; $('#total').trigger('update', a); $("#" + divId).text(a + " ₪"); } $('#total').bind('update', function (e, price) { var curr = $(this).text(); $(this).text(parseInt(curr) + parseInt(price)); });
זה אמור לעבוד, ואם זה לא אז נתתי לך רעיון איך זה אמור לעבוד.
  Reply With Quote
ישן 29-07-12, 16:24   # 3
mayden
Авторитет
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
הודעות: 2,556

mayden לא מחובר  

הבנתי הראש של הפעלת ה trigger אך עדיין.. משהו פה לא עובד..
__________________

ציטוט:
" זוכרים בשביל ללמוד, יודעים בשביל ללמד, מבינים בשביל לתכנת.."
  Reply With Quote
ישן 29-07-12, 16:30   # 4
perfeito
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2012
הודעות: 102

perfeito לא מחובר  

תשנה את
#total
לטאג שאתה רוצה לעדכן בה
ונסה שוב.
  Reply With Quote
ישן 29-07-12, 16:31   # 5
perfeito
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2012
הודעות: 102

perfeito לא מחובר  

אתה יכול גם לשנות את המחיר הכולל בתוך `changePrice()`
  Reply With Quote
ישן 29-07-12, 16:52   # 6
mayden
Авторитет
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
הודעות: 2,556

mayden לא מחובר  

ציטוט:
נכתב במקור על ידי perfeito צפה בהודעה
תשנה את
#total
לטאג שאתה רוצה לעדכן בה
ונסה שוב.
אני מבין דבר או שתיים בתכנות, שיניתי וזה עדיין לא עבד..

ציטוט:
נכתב במקור על ידי perfeito צפה בהודעה
אתה יכול גם לשנות את המחיר הכולל בתוך `changePrice()`
חשבתי על זה - לדעתי צריך לשמור את הערכים במערך (Sum) ולחבר אותם. הצלחתי זאת בעת לחיצה על כפתור.

בכל מקרה - צריך גם לחשוב שזה לא תמיד יהיו 2... יכול להיות גם 3.. אז זה אמור לבוא בתור פונקציה/משהו דינאמי.

תודה על העזרה!
__________________

ציטוט:
" זוכרים בשביל ללמוד, יודעים בשביל ללמד, מבינים בשביל לתכנת.."

Last edited by mayden; 29-07-12 at 16:53.. סיבה: תודה :)
  Reply With Quote
ישן 29-07-12, 19:18   # 7
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

ציטוט:
נכתב במקור על ידי mayden צפה בהודעה
אני מבין דבר או שתיים בתכנות, שיניתי וזה עדיין לא עבד..



חשבתי על זה - לדעתי צריך לשמור את הערכים במערך (Sum) ולחבר אותם. הצלחתי זאת בעת לחיצה על כפתור.

בכל מקרה - צריך גם לחשוב שזה לא תמיד יהיו 2... יכול להיות גם 3.. אז זה אמור לבוא בתור פונקציה/משהו דינאמי.

תודה על העזרה!
מתי להריץ את הפונקצייה? תריץ אותה כל פעם שמשהו משתנה בסל קניות.

מה יהיה הפונקצייה?

לכל מוצר (שורה) יש מחיר, תכניס את המחיר לתוך span עם class שהוא itemPrice

ואז בjquery אתה עושה:

קוד:
var price = 0;
			
$(".itemPrice").each(function() {
	price += parseInt($(this).val());
});
והמחיר שלך נשמר במשתנה price ..
  Reply With Quote
ישן 29-07-12, 23:05   # 8
mayden
Авторитет
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
הודעות: 2,556

mayden לא מחובר  

ציטוט:
נכתב במקור על ידי HHaim צפה בהודעה
מתי להריץ את הפונקצייה? תריץ אותה כל פעם שמשהו משתנה בסל קניות.

מה יהיה הפונקצייה?

לכל מוצר (שורה) יש מחיר, תכניס את המחיר לתוך span עם class שהוא itemPrice

ואז בjquery אתה עושה:

קוד:
var price = 0;
 
$(".itemPrice").each(function() {
    price += parseInt($(this).val());
});
והמחיר שלך נשמר במשתנה price ..
ניסיתי.. מחזיר NaN:

PHP קוד:
function changePrice(divIdsIdprice) {
      var 
= $("#" sId).val();
      var 
price;
       var 
= $("#" divId).text(" ₪");
      

  var 
totalPrice 0;
  $(
".product-sum").each(function() {
   
totalPrice += parseInt($(this).val());
 
   $(
"#totalSum").text(totalPrice);
      });
      
     

סה"כ המחיר פר מוצר שמור לי בCLASS של product-sum.

בסכום הכללי מחזיר לי NaN. (ה- DIV: #sumTotal)
__________________

ציטוט:
" זוכרים בשביל ללמוד, יודעים בשביל ללמד, מבינים בשביל לתכנת.."
  Reply With Quote
ישן 30-07-12, 12:54   # 9
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

ציטוט:
נכתב במקור על ידי mayden צפה בהודעה
ניסיתי.. מחזיר NaN:

PHP קוד:
function changePrice(divIdsIdprice) {
      var 
= $("#" sId).val();
      var 
price;
       var 
= $("#" divId).text(" ₪");
      

  var 
totalPrice 0;
  $(
".product-sum").each(function() {
   
totalPrice += parseInt($(this).val());
 
   $(
"#totalSum").text(totalPrice);
      });
      
     

סה"כ המחיר פר מוצר שמור לי בCLASS של product-sum.

בסכום הכללי מחזיר לי NaN. (ה- DIV: #sumTotal)
דבר ראשון תוציא את ה $("#totalSum").text(totalPrice); מתוך הeach
ותעלה דמו לאתר או משהו שיהיה קל יותר לעזור לך..

עריכה:
התבלבלתי עם משהו אחר, במקום
קוד:
$(this).val()
תעשה
קוד:
$(this).text()

Last edited by Haimz; 30-07-12 at 12:56..
  Reply With Quote
ישן 31-07-12, 11:05   # 10
mayden
Авторитет
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
הודעות: 2,556

mayden לא מחובר  

הסתדרתי,
תודה רבה.

היה צריך לעבוד עם משתנה מסוג DATA.
__________________

ציטוט:
" זוכרים בשביל ללמוד, יודעים בשביל ללמד, מבינים בשביל לתכנת.."
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 22:51.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ