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

StackOverflow https://stackoverflow.com/questions/1810125

سؤال

وأنا باستخدام نظام التجارة الإلكترونية التي تتيح لك الحصول على العديد من الاختلافات لكل منتج - (على سبيل المثال: الكبيرة والمتوسطة، صغيرة تي شيرت). ومع ذلك، فإننا وجود شكاوى من العملاء الذين إضافة تي شيرت وتجاهل الاختلاف. ونتيجة لذلك، والكثير من الناس كبيرة تزداد صغيرة تي شيرت (الافتراضي). لحل هذه المشكلة، أود أن إجبار المستخدم لاختيار زر الراديو (بدلا من قائمة مختارة المنسدلة)، وعندئذ فقط سوف الوظيفة إلى السلة زر تصبح متاحة. هنا هو فب الحالي الذي يعرض حدد القائمة المنسدلة؛

<?php while (have_variation_groups()) : the_variation_group(); ?>
  <?php /** variation HTML and loop */?>
  <select class='select_variation' name="variation[<?php echo variation_id(); ?>]" id="<?php echo variation_group_form_id(); ?>">
  <?php while (have_variations()) : the_variation(); ?>
     <option value="<?php echo the_variation_id(); ?>"><?php echo the_variation_name(); ?></option>
   <?php endwhile; ?>
</select> 
<?php endwhile; ?>
<?php echo add_to_cart_button(the_product_id()); ?>

والذي يبصق هذا النوع من أتش تي أم أل ...

<select class='select_variation' name="variation[1]" id="variation_select_22_1">
<option value="1">Small</option>
<option value="2">Big</option>
</select> 
<input type='submit' id='product_22_submit_button' class='buy_button' name='Buy'  value="Add To Cart" />

وكيف تقترح أن تحويل المنسدلة لزر الراديو، والتأكد من أن زر إضافة إلى عربة غير قابل للنقر حتى أنهم اختاروا الاختلاف؟ بفضل

هل كانت مفيدة؟

المحلول

وأنا لست مطور PHP، آسف لذلك في وقت مبكر إذا كنت جزار اللغة ...

وهذا يجب أن تحصل على قائمة أزرار الراديو:

<?php while (have_variation_groups()) : the_variation_group(); ?>
  <?php /** variation HTML and loop */?>
  <ul class='select_variation' name="variation[<?php echo variation_id(); ?>]" id="<?php echo variation_group_form_id(); ?>">
  <?php while (have_variations()) : the_variation(); ?>
     <li><input type="radio" name="variation[<?php echo variation_id(); ?>]" value="<?php echo the_variation_id(); ?>"/><?php echo the_variation_name(); ?></li>
   <?php endwhile; ?>
</ul>
<?php endwhile; ?>
<?php echo add_to_cart_button(the_product_id()); ?>

والتي سوف تعطي نأمل أن شيئا من هذا القبيل:

<ul class='select_variation' name="variation[1]" id="variation_select_22_1">
<li><input type="radio" name="variation[1]" value="1" />Small</li>
<li><input type="radio" name="variation[1]" value="2" />Big</li>
</ul> 
<input type='submit' id='product_22_submit_button' class='buy_button' name='Buy'  value="Add To Cart" />

وبعد ذلك يمكنك استخدام بعض مسج لتمكين الزر عند النقر فوق واحد من الخيارات التالية:

$(function()
{
    $('.buy_button').attr('disabled', 'true');

    $('ul li input').click(function()
    {
        $('.buy_button').removeAttr('disabled');
    });
});

وكنت قد تنظر أيضا مجرد إضافة دمية "الرجاء إختر 'البند إلى انخفاض الموجودة أسفل وجعله الافتراضي.

نصائح أخرى

لماذا لا نضيف الخيار الافتراضي مع قيمة 0 والنص "الرجاء اختيار الحجم"؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top