• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جمع اعداد input ها
#1
سلام

من یه فرم دارم که میخوام وقتی کاربر عدد وارد میکنه جمع اعداد input ها رو توی input اخری بریزه 
ممنون میشم راهنماییم کنید
کد:
<form>
<input type="number" name="frm[]">
<input type="number" name="frm[]">
<input type="number" name="frm[]">
<input type="number" name="frm[]">
<input type="number" name="total">
</form>

با این توضیح که تعداد input های frm[] برام معلوم نیست و ممکنه هربار کم و زیاد بشه برا همین نمیتونم تک تک value هاشون رو بگیرم
  پاسخ
تشکر شده توسط :
#2
سلام و وقت بخیر

جهت این مورد نیاز هست از js استفاده کنین.
و جهت اجرای فانکشن مروبطه ، رویداد onkeypress  را به input ها اضافه کنین. مثال

با هر بار اجرای فانکشن ، مقدار input در حال تایپ ، به مقدار total اضافه شود.
  پاسخ
تشکر شده توسط : kasbookar m.s_22
#3
(۱۳۹۸ اردیبهشت ۲۷, ۱۱:۴۱ ق.ظ)m.s_22 نوشته: سلام

من یه فرم دارم که میخوام وقتی کاربر عدد وارد میکنه جمع اعداد input ها رو توی input اخری بریزه 
ممنون میشم راهنماییم کنید
کد:
<form>
<input type="number" name="frm[]">
<input type="number" name="frm[]">
<input type="number" name="frm[]">
<input type="number" name="frm[]">
<input type="number" name="total">
</form>

با این توضیح که تعداد input های frm[] برام معلوم نیست و ممکنه هربار کم و زیاد بشه برا همین نمیتونم تک تک value هاشون رو بگیرم

برای اینکار نیازی نیست از اینپوت ها به صورت آرایه استفاده کنی ، شما در چنین شرایطی باید با جی کوئری فیلدهایی رو که میخوای رو سلکت کنی مثلا به همه اینپوتهایی که میخوای توی خروجی جم بشن یه کلاس بده بعد با جی کوئری اونارو انتخاب کن و توی خروجی نشون بده
برای اینکار هم میتونی از .each(به ازای هر المنت سلکت شده اجرا میشه) توی جی کوئری استفاده کنی 
مثال با فرض اینکه شما به همه اینپوت هات کلاس test  دادی
کد پی‌اچ‌پی:
$('.test').each(function () {
 
   totalSum += parseFloat(this.value);
 
   $(".total").val(totalSum);
}); 
حالا با رویداد blur یا هر ریدادی که نیازت هست میتونی اینکارو انجام بدی
  پاسخ
تشکر شده توسط : m.s_22 ayoubsys


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان