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

[jQuery] استدعاء نص الselectbox و ليس value

السؤال

نشر

سلام عليكم

الكود كالتالي

<select name="name" class="form-control color_select" required>
<option  >اختيار اللون</option>

<!-- بداية استعلام الوان المرياجات -->

<?php

$meriag = "SELECT `patron_colors`.`id` AS pcID, `patron_colors`.`patron_id` AS pcPID, `patron_colors`.`color_name` AS pcCN, `patron_colors`.`color_count`AS pcCC FROM `patron_colors` INNER JOIN `patron` ON `patron`.`id` = `patron_colors`.`patron_id` INNER JOIN `orders` ON `orders`.`id` = `patron`.`order_id` WHERE `orders`.`id` =$order_id";

$result = $conn->query($meriag);

while ($row = $result->fetch_assoc()) {


echo '<option class="text-danger color_count" type="buttons"   value="' . $row['pcCC'] . ' ">  ' . $row['pcCN'] . '</option>';

}

?>

</select>

ال value بتاعة ال selectbox اللي انا مديها كلاس اسمه color_count واخدة قيمة المتغير row['pcCC'] 

انا عاوز اللي يتخزن في الداتابيز قيمة الtext اللي بيمثله المتغير row['pcCN']

صورة توضيحية

1.thumb.jpg.54e12f9af7c3522e4a7d5d41634c5436.jpg

اللي بيتسجل بالداتابيز بياخد القيمتين مش قيمة الخلية المختارة بس

2.thumb.jpg.24eb332f46626db44fdc034b3e8017cd.jpg

 

كود ال jQuery

<script>
// Submit Button
(function() {

'use strict';

window.addEventListener('load', function() {

var forms = document.getElementsByClassName('needs-validation-buttons');

var validation = Array.prototype.filter.call(forms, function(form) {

	form.addEventListener('submit', function(event) {

		if (form.checkValidity() === false) {

			event.preventDefault();

			event.stopPropagation();

		} else {

			var buttons = [];

			$(".buttons-value").each(function () {
				buttons.push($(this).val());
			});

			var colorSelect = $(".color_select option:selected").text();

			var colorNumber = $(".colorNumber_input").val();

			var countPiece = $(".countPiece").val();

			var total = $(".total").val();


			console.log(buttons);
			$.ajax({

				url: "requests/orders.php",

				dataType: 'text',

				data: {

					"action": "add_buttons",

					"order": <?php echo $order_id; ?>,

					"buttons": buttons,

					"colorSelect": colorSelect,

					"colorNumber": colorNumber,

					"countPiece": countPiece,

					"total": total

				},

				type: 'post',

				success: function(data) {

					if (data == "done") {

						Swal.fire({

							icon: 'success',

							title: 'تمت الاضافة بفضل الله - قم بتحديث الصفحة بعد الانتهاء',

							confirmButtonText: 'حسنا',

							showCloseButton: true

						})

					} else {

						Swal.fire({

							icon: 'error',

							title: 'حدث خطأ حاول مجددا',

							confirmButtonText: 'حسنا',

							showCloseButton: true

						});

						console.log(data);

					}

				}

			});

		}

		form.classList.add('was-validated');

	}, false);

});

}, false);

})();

 

ايه الحل فضلا

Recommended Posts

  • 1
نشر

المشكلة أن السطر:

var colorSelect = $(".color_select option:selected").text();

يجلب كل الخيارات المحددة و يقوم بدمج النص الخاص بها في سلسلة نصية. لديك الآن قائمتين و تم تحديد أحمر و أزرق لذلك ناتج السطر أعلاه كان "أحمر أزرق" و هكذا حسب عدد القوائم فلو كانت ثلاثة و قمت بتحديد أحمر و أزرق و أصفر سيكون الناتج "أحمر أزرق أصفر" و هكذا أما حقول الإدخال من النوع number فالسطر:

var colorNumber = $(".colorNumber_input").val();

سيتم تخزين قيمة أول حقل يوافق التحديد و هذا ما يتبين من خلال حقول الإدخال تم تخزين القيم الأولى للزر الأول فقط لكل الأزرار.

يتوجب عليك تغيير المنطق الذي تعمل به فيجب عليك تخزين كل القيم في مصفوفات و إرسالها عبر طلب ajax مثلما تفعل مع الخاصية buttons بعد تخزين القيم في مصفوفات تقوم بإرسالها لصفحة php و على أساس هذه المصفوفات تقوم بإنشاء السجلات.

  • 0
نشر

شاكر افضالك استاذ عبود ، تاعبك دوما معي

وصلت الفكرة و ضبطت الحمد لله 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...