خوارزمية مهمات الموظف

السلام عليكم

في البرنامج أدناه أحاول حل هذه الخوارزمية

1-اذا كان زر input type=checkbox مضغوطا أصف الى حقل قيمة الوظيفة 50 وهي تعبر عن 50 ريالا

2-اذا اختار مهمتين أي ان هناك مهمتان يريد العمل عليهما يجد ان يتزايد قيمة حقل الوظيفة بمقداد 50 فتصبح مئة

3-في حال ألغى إحدى المهام يتناقص حقل قيمة الوظيفة الى بمقدار 50

ملاحظة1: لقد عملت على الخطوتان 1,3 وهي تعملان جيدا مع input type=checkbox واحد فقط بمجرد اختيار

زر input type=checkbox اخر يتم كتابة 5050 داخل الحقل قيمة الوظيفة رغم استعمال الدالة Number()

نص الدالة

function CalculateMonthlyFeeindividual() {

       var individualWorkFieldUploadingAndDownloading = $("#IndividualWorkFieldUploadingAndDownloading");
       var individualWorkFieldTransportingCattle = $("#IndividualWorkFieldTransportingCattle");
       var individualWorkFieldTransportingDeliveringFodder = $("#IndividualWorkFieldTransportingDeliveringFodder");
       var individualWorkFieldTransportDrivers = $("#IndividualWorkFieldTransportDrivers");
       var individualWorkFieldTeacher = $("#IndividualWorkFieldTeacher");
       var individualWorkFieldAll = $("#IndividualWorkFieldAll");

       var totalWorkersindividual = 
       individualWorkFieldUploadingAndDownloading +
       individualWorkFieldTransportingCattle +
       individualWorkFieldTransportingDeliveringFodder +
       individualWorkFieldTransportDrivers +
       individualWorkFieldTeacher +
       individualWorkFieldAll
       ;

       var individualValueMonthlyFee = document.getElementById("IndividualValueMonthlyFee");
       individualValueMonthlyFee.value = null;
       var individualTotalMonthlyFeeCompanies = document.getElementById(IndividualTotalMonthlyFeeCompanies);

        if (individualWorkFieldUploadingAndDownloading.is(':checked')) {individualValueMonthlyFee.value += Number(50)} 
         else if (individualWorkFieldUploadingAndDownloading.attr('checked',false)) {individualValueMonthlyFee.value - Number(50)}
         if (individualWorkFieldTransportingCattle.is(':checked')) {individualValueMonthlyFee.value =+ Number(50) } 
          else if (individualWorkFieldTransportingCattle.attr('checked',false)) {individualValueMonthlyFee.value - Number(50)} 


        // If I could operate the function this way that would be a good thing
        //switch (individualValueMonthlyFee.val(0)) {
        //  case individualWorkFieldUploadingAndDownloading.attr('checked',true):
        //    individualValueMonthlyFee.val(50);
        //    break;
        //  case individualWorkFieldTransportingCattle.attr('checked',true):
        //    individualValueMonthlyFee.val(50);
        //    break;
        //  case individualWorkFieldTransportingDeliveringFodder.attr('checked',true):
        //    individualValueMonthlyFee.val(50);
        //    break;
        //  case individualWorkFieldTransportDrivers.attr('checked',true):
        //    individualValueMonthlyFee.val(50);
        //    break;
        //  case individualWorkFieldTeacher.attr('checked',true):
        //    individualValueMonthlyFee.val(50);
        //    break;
        //  case individualWorkFieldAll.attr('checked',true):
        //    individualValueMonthlyFee.val(50);
        //    break;  
        // 
        //}

   }CalculateMonthlyFeeindividual()
يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يوجد خطأ بسيط في جلب قيمة العنصر IndividualTotalMonthlyFeeCompanies حيث لم تضع اقتباس حول النص.

والعنصر التالي قم بتهيئته بالقيمة 0، لماذا اخترت null؟

individualValueMonthlyFee.value = null;

وبالنسبة لعملية الجمع حاول استخدام الدالة parseInt كالتالي:

individualValueMonthlyFee.value = parseInt(individualValueMonthlyFee.value) + 50;

عمليات الطرح الحالية لا تقوم بعمل إسناد للقيمة الجديدة أرجو أيضا تعديلهم كما عدلنا عملية الجمع:

individualValueMonthlyFee.value = parseInt(individualValueMonthlyFee.value) - 50;

اخترت null لان null لا تجمع بينما الصفر كان يجمع سأجرب حلك

شكرا

نعم صحيح،

المتغير يخزن القيمة بشكل نصي لذلك null تعمل أما 0 كلا. يمكن أيضا وضع "".

لتصبح الأمور أسهل، قم بتعريف متغير عددي var x وقم بحساب العلاقات الرياضية من خلاله و في النهاية أسنده للخاصية value للعنصر الهدف.