اذهب إلى المحتوى
  • 0

ضبط عملية حسابية بال jQuery

محمد المصري12

السؤال

سلام عليكم

صورة توضيحية للمشكلة

2021-07-23_22-55-48.thumb.jpg.cee6934e6f01b96dde6f95dc37698060.jpg

و ايضا فيديو توضيحي

2021-07-23_22-55-07.mp4

 

الكود

<script>
$(document).ready(function() {

  $(document).on('change', '.color-select', function() { // whats happens when color select change
// define variable color = calling the main div element then find input text with classname number-input , and give it the same value of selectbox called color-select
var color = $(this).closest(".buttons-fields").find('input.number-input').val($(this).val()); 
  });
//#############################################################
// ################## Mathmatic operation #############################  
  $(document).on('change', '.count1', function() {  //whats happend when count1 element value change
var total = $(this).closest(".buttons-fields").find('input.total').val((color * $('.number-input').val())); 
  });	

});

كيف اضبط العملية الحسابية ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

سأفترض أن الهيكلية الخاصة بالعناصر كالتالي:

<!-- Main Container -->
<div class="main-container">
  
  <!-- Select Box Container -->
  <div>
    <select name="name" class="color-select">
      <option value="" disabled>Select option</option>
      <option value="1000">option 1</option>
      <option value="2000">option 2</option>
      <option value="3000">option 3</option>
      <option value="4000">option 4</option>
    </select>
    <!-- Select Box Container Close -->
  </div>
  
  <!-- text Input Container -->
  <div>
    <input type="number" name="number-input1" class="number-input1" readonly>
    <!-- Close text Input Container -->
  </div>
  
  <!-- text Input Container -->
  <div>
    <input type="number" name="number-input2" class="number-input2" value="1">
    <!-- Close text Input Container -->
  </div>
  
  <div>
    <input type="number" name="total" class="total-number" readonly>
  </div>

</div>
<!-- end main container -->

<!-- Main Container -->
<div class="main-container">
  <!-- Select Box Container -->
  <div>
    <select name="name" class="color-select">
      <option value="" disabled>Select option</option>
      <option value="1000">option 1</option>
      <option value="2000">option 2</option>
      <option value="3000">option 3</option>
      <option value="4000">option 4</option>
    </select>
    <!-- Select Box Container Close -->
  </div>
  <!-- text Input Container -->
  <div>
    <input type="number" name="number-input1" class="number-input1" readonly>
    <!-- Close text Input Container -->
  </div>
  <div>
    <input type="number" name="number-input2" class="number-input2" value="1">
    <!-- Close text Input Container -->
  </div>
  <div>
    <input type="number" name="total" class="total-number" readonly>
  </div>

</div>
<!-- end main container -->

<!-- Main Container -->
<div class="main-container">
<!-- Select Box Container -->
  <div>
    <select name="name" class="color-select">
    <option value="" disabled>Select option</option>
    <option value="1000">option 1</option>
    <option value="2000">option 2</option>
    <option value="3000">option 3</option>
    <option value="4000">option 4</option>
  </select>
<!-- Select Box Container Close -->
  </div>
<!-- text Input Container -->
  <div>
    <input type="number" name="number-input1" class="number-input" readonly>
<!-- Close text Input Container -->
  </div>
  <div>
    <input type="number" name="number-input2" class="number-input2" value="1">
<!-- Close text Input Container -->
  </div>
  <div>
    <input type="number" name="total" class="total-number" readonly>
  </div>

</div>
<!-- end main container -->

عليه يُمكنك حساب حاصل الضرب بالشكل التالي:

$(document).ready(function() {
  $(document).on('change', '.color-select', function() {
    var selectedVal = $(this).val(),
        $mainContEl = $(this).parents('div.main-container'),
        $numberInputEl1 = $mainContEl.children().find("input.number-input1"),
        $numberInputEl2 = $mainContEl.children().find("input.number-input2"),
        $totalInputEl = $mainContEl.children().find("input.total-number");
    $numberInputEl1.val(selectedVal);
    $totalInputEl.val(selectedVal * $numberInputEl2.val())
  });
  
  
  $(document).on('change keyup', '.number-input2', function() {
    var currentVal = $(this).val(),
        $mainContEl = $(this).parents('div.main-container'),
        $numberInputEl1 = $mainContEl.children().find("input.number-input1"),
        $totalInputEl = $mainContEl.children().find("input.total-number");
    $totalInputEl.val(currentVal * $numberInputEl1.val())
  });
});

إستخدمت فقط دوال الإنتقال لتحديد العناصر المطلوبة ثم قمت بضرب القيم و تغيير قيمة حقل المجموع الموافقة. و استخدمت حدثي change و keyup 

يُمكنك تجربة المثال من هنا:

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...