Отключение ссылки до тех пор, пока не будет установлен ряд флажков - PullRequest
0 голосов
/ 19 августа 2011

Я пытаюсь выяснить, как отключить следующую ссылку, пока не будет выбран ряд из 4 или 5 флажков.

 <input type="image" src="/wp-content/themes/happy/images/add-to-cart.png" name="Buy" class="wpsc_buy_button" id="product_<?php echo wpsc_the_product_id(); ?>_submit_button" onclick="window.location='http://example.com/store/checkout/';"/>

Спасибо!

Я тоже немного отсталый, когда дело доходит до js и jquery, поэтому чем проще, тем лучше.Я хотел бы, чтобы весь код был рядом с элементом, а не выключен в другом месте, хотя это может быть «предпочтительным» методом.

Большое спасибо.

Ответы [ 3 ]

0 голосов
/ 19 августа 2011

Вы можете сделать что-то вроде этого

<input type="image" src="/wp-content/themes/happy/images/add-to-cart.png" name="Buy" class="wpsc_buy_button" id="product_<?php echo wpsc_the_product_id(); ?>_submit_button" onclick="if($(this).data("enabled")){window.location='http://example.com/store/checkout/';}"/>

И на флажок установите флажок

$("input").click(function(){

   //Here check for this checkbox and all other series of checkbox, if they are checked then
   $("img[name=Buy]").data("enabled", true);
   //else
   $("img[name=Buy]").data("enabled", false);
});
0 голосов
/ 19 августа 2011

Если у вас есть следующая форма:

 <form method="post" action="" class="my-form">
     <p>
         <input type="checkbox" /> First item
     </p>
     <p>
         <input type="checkbox" /> Second item
     </p>
     <p> 
         <input type="image" src="..." />
     </p>
 </form>

Используйте jQuery для проверки формы отправки

 $(function() {
     $(".my-form").submit(function() { 
         if ($(".my-form input[type=checkbox]:checked").length < 1)
         {
             alert("You must select at least one checkbox to proceed.");
             return false;
         }
     }
 }
0 голосов
/ 19 августа 2011

Если у вас есть ссылка на jquery, измените метод onclick на что-то вроде:

onclick="if($('.checkboxClass').not(':checked').length > 0) window.location='http://example.com/store/checkout/'; else {alert('please tick all the checkboxes'); return 0};

Затем добавьте "checkboxClass" (или любой другой класс, который вы выберете) для всех ваших флажков

<input type="checkbox" class="checkboxClass" value="1" />
<input type="checkbox" class="checkboxClass" value="2" />

и т. Д.

...