簡體   English   中英

如何從兩個不同的表單集中選擇一個單選按鈕?

[英]How do I select only one radio button from two different form sets?

<div class="div_services service_block">
   <div class="activenicksrv">
      <h5>Extreme Service</h5>
   </div>
   <div class="div_extservices">
      <ul>
         <li class="ui-corner-left">E Service 1</li>
         <li class="ui-corner-left">E Service 2</li>
         <li class="ui-corner-left">E Service 3</li>
         <li class="ui-corner-left">E Service 4</li>
         <li class="ui-corner-left">E Service 5</li>
         <li class="ui-corner-left">E Service 6</li>
         <li class="ui-corner-left">E Service 7</li>
         <li class="ui-corner-left">E Service 8</li>
      </ul>
      <form method="post" action="<?php echo base_url('services'); ?>">
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B1" />
            <label><span class="price">$7.99</span> - 1 Month</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B2" /> <label>
            <span class="price">$14.99</span> - 3 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B3" />
            <label><span class="price">$24.99</span> - 6 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B4" />
            <label><span class="price">$44.99</span> - 1 Year</label>
         </div>
         <div class="buynowbtnbox-ext buynowbtnbox">
            <input type="hidden" name="<?php echo $csrf['name']; ?>" value="<?php echo $csrf['hash']; ?>" />
            <a class="btnSubmit" href="javascript:void(0)">Buy Now</a>
         </div>
      </form>
   </div>
</div>
<!-- Extra Service -->
<div class="div_services service_block">
   <div class="extranicksrv">
      <h5>Executive Service</h5>
   </div>
   <div class="div_exeservices">
      <ul>
         <li class="ui-corner-left">E Service 1</li>
         <li class="ui-corner-left">E Service 2</li>
         <li class="ui-corner-left">E Service 3</li>
         <li class="ui-corner-left">E Service 4</li>
         <li class="ui-corner-left">E Service 5</li>
         <li class="ui-corner-left">E Service 6</li>
         <li class="ui-corner-left">E Service 7</li>
         <li class="ui-corner-left">E Service 8</li>
      </ul>
      <form method="post" action="<?php echo base_url('services'); ?>">
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G1" />
            <label><span class="price">$12.99</span> - 1 Month</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G2" /> <label>
            <span class="price">$23</span> - 3 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G3" />
            <label><span class="price">$40.99</span> - 6 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G4" />
            <label><span class="price">$59.99</span> - 1 Year</label>
         </div>
         <div class="buynowbtnbox-exe buynowbtnbox">
            <input type="hidden" name="<?php echo $csrf['name']; ?>" value="<?php echo $csrf['hash']; ?>" />
            <a class="btnSubmit" href="javascript:void(0)">Buy Now</a>
         </div>
      </form>
   </div>
</div>

這是我嘗試過的方法,我只需要從任一服務中選擇一個單選按鈕。 如果選擇了一個包中的一項服務,則不應選擇其他包中的服務。我還有其他6個包。用戶應該能夠一次從這些不同的包集中選擇一個,請提供幫助。 TIA

由於名稱相同,因此將事件處理程序綁定到輸入和名稱上。

我不知道您是否使用jQuery。

為了方便起見,我在下面通過jQuery做到了。

我唯一要做的就是添加事件處理程序。

 $('input[name="service"]').click(function(event){ $('input[name="service"]:checked').not(this).prop('checked', false); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="div_services service_block"> <div class="activenicksrv"> <h5>Extreme Service</h5> </div> <div class="div_extservices"> <ul> <li class="ui-corner-left">E Service 1</li> <li class="ui-corner-left">E Service 2</li> <li class="ui-corner-left">E Service 3</li> <li class="ui-corner-left">E Service 4</li> <li class="ui-corner-left">E Service 5</li> <li class="ui-corner-left">E Service 6</li> <li class="ui-corner-left">E Service 7</li> <li class="ui-corner-left">E Service 8</li> </ul> <form method="post" action="<?php echo base_url('services'); ?>"> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="B1" /> <label><span class="price">$7.99</span> - 1 Month</label> </div> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="B2" /> <label> <span class="price">$14.99</span> - 3 Months</label> </div> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="B3" /> <label><span class="price">$24.99</span> - 6 Months</label> </div> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="B4" /> <label><span class="price">$44.99</span> - 1 Year</label> </div> <div class="buynowbtnbox-ext buynowbtnbox"> <input type="hidden" name="<?php echo $csrf['name']; ?>" value="<?php echo $csrf['hash']; ?>" /> <a class="btnSubmit" href="javascript:void(0)">Buy Now</a> </div> </form> </div> </div> <!-- Extra Service --> <div class="div_services service_block"> <div class="extranicksrv"> <h5>Executive Service</h5> </div> <div class="div_exeservices"> <ul> <li class="ui-corner-left">E Service 1</li> <li class="ui-corner-left">E Service 2</li> <li class="ui-corner-left">E Service 3</li> <li class="ui-corner-left">E Service 4</li> <li class="ui-corner-left">E Service 5</li> <li class="ui-corner-left">E Service 6</li> <li class="ui-corner-left">E Service 7</li> <li class="ui-corner-left">E Service 8</li> </ul> <form method="post" action="<?php echo base_url('services'); ?>"> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="G1" /> <label><span class="price">$12.99</span> - 1 Month</label> </div> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="G2" /> <label> <span class="price">$23</span> - 3 Months</label> </div> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="G3" /> <label><span class="price">$40.99</span> - 6 Months</label> </div> <div class="buynowbtn" style="text-align: left;"> <input name="service" type="radio" value="G4" /> <label><span class="price">$59.99</span> - 1 Year</label> </div> <div class="buynowbtnbox-exe buynowbtnbox"> <input type="hidden" name="<?php echo $csrf['name']; ?>" value="<?php echo $csrf['hash']; ?>" /> <a class="btnSubmit" href="javascript:void(0)">Buy Now</a> </div> </form> </div> </div> 

與其保留兩個表單標簽,不如保留一個表單標簽,並將整個html保留在該表單標簽中。

<form method="post" action="
<?php echo base_url('services'); ?>">
<div class="div_services service_block">
    <div class="activenicksrv">
        <h5>Extreme Service</h5>
    </div>
    <div class="div_extservices">
        <ul>
            <li class="ui-corner-left">E Service 1</li>
            <li class="ui-corner-left">E Service 2</li>
            <li class="ui-corner-left">E Service 3</li>
            <li class="ui-corner-left">E Service 4</li>
            <li class="ui-corner-left">E Service 5</li>
            <li class="ui-corner-left">E Service 6</li>
            <li class="ui-corner-left">E Service 7</li>
            <li class="ui-corner-left">E Service 8</li>
        </ul>
        <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B1" />
            <label>
                <span class="price">$7.99</span> - 1 Month
            </label>
        </div>
        <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B2" />
            <label>
                <span class="price">$14.99</span> - 3 Months
            </label>
        </div>
        <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B3" />
            <label>
                <span class="price">$24.99</span> - 6 Months
            </label>
        </div>
        <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B4" />
            <label>
                <span class="price">$44.99</span> - 1 Year
            </label>
        </div>
        <div class="buynowbtnbox-ext buynowbtnbox">
            <input type="hidden" name="
                <?php echo $csrf['name']; ?>" value="
                <?php echo $csrf['hash']; ?>" />
                <a class="btnSubmit" href="javascript:void(0)">Buy Now</a>
            </div>
        </div>
    </div>
    <!-- Extra Service -->
    <div class="div_services service_block">
        <div class="extranicksrv">
            <h5>Executive Service</h5>
        </div>
        <div class="div_exeservices">
            <ul>
                <li class="ui-corner-left">E Service 1</li>
                <li class="ui-corner-left">E Service 2</li>
                <li class="ui-corner-left">E Service 3</li>
                <li class="ui-corner-left">E Service 4</li>
                <li class="ui-corner-left">E Service 5</li>
                <li class="ui-corner-left">E Service 6</li>
                <li class="ui-corner-left">E Service 7</li>
                <li class="ui-corner-left">E Service 8</li>
            </ul>
            <div class="buynowbtn" style="text-align: left;">
                <input name="service" type="radio" value="G1" />
                <label>
                    <span class="price">$12.99</span> - 1 Month
                </label>
            </div>
            <div class="buynowbtn" style="text-align: left;">
                <input name="service" type="radio" value="G2" />
                <label>
                    <span class="price">$23</span> - 3 Months
                </label>
            </div>
            <div class="buynowbtn" style="text-align: left;">
                <input name="service" type="radio" value="G3" />
                <label>
                    <span class="price">$40.99</span> - 6 Months
                </label>
            </div>
            <div class="buynowbtn" style="text-align: left;">
                <input name="service" type="radio" value="G4" />
                <label>
                    <span class="price">$59.99</span> - 1 Year
                </label>
            </div>
            <div class="buynowbtnbox-exe buynowbtnbox">
                <input type="hidden" name="
                    <?php echo $csrf['name']; ?>" value="
                    <?php echo $csrf['hash']; ?>" />
                    <a class="btnSubmit" href="javascript:void(0)">Buy Now</a>
                </div>
            </div>
        </div>
    </form>

如果已選擇第一個表單單選按鈕,則可以禁用或隱藏第二個表單單選按鈕,反之亦然

<div class="div_services service_block">
   <div class="activenicksrv">
      <h5>Extreme Service</h5>
   </div>
   <div class="div_extservices">
      <ul>
         <li class="ui-corner-left">E Service 1</li>
         <li class="ui-corner-left">E Service 2</li>
         <li class="ui-corner-left">E Service 3</li>
         <li class="ui-corner-left">E Service 4</li>
         <li class="ui-corner-left">E Service 5</li>
         <li class="ui-corner-left">E Service 6</li>
         <li class="ui-corner-left">E Service 7</li>
         <li class="ui-corner-left">E Service 8</li>
      </ul>
      <form method="post" class="activenicksrv_form" action="<?php //echo base_url('services'); ?>">
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B1" />
            <label><span class="price">$7.99</span> - 1 Month</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B2" /> <label>
            <span class="price">$14.99</span> - 3 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B3" />
            <label><span class="price">$24.99</span> - 6 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="B4" />
            <label><span class="price">$44.99</span> - 1 Year</label>
         </div>
         <div class="buynowbtnbox-ext buynowbtnbox">
            <input type="hidden" name="<?php echo $csrf['name']; ?>" value="<?php echo $csrf['hash']; ?>" />
            <a class="btnSubmit" href="javascript:void(0)">Buy Now</a>
         </div>
      </form>
   </div>
</div>
<!-- Extra Service -->
<div class="div_services service_block">
   <div class="extranicksrv">
      <h5>Executive Service</h5>
   </div>
   <div class="div_exeservices">
      <ul>
         <li class="ui-corner-left">E Service 1</li>
         <li class="ui-corner-left">E Service 2</li>
         <li class="ui-corner-left">E Service 3</li>
         <li class="ui-corner-left">E Service 4</li>
         <li class="ui-corner-left">E Service 5</li>
         <li class="ui-corner-left">E Service 6</li>
         <li class="ui-corner-left">E Service 7</li>
         <li class="ui-corner-left">E Service 8</li>
      </ul>
      <form method="post" class="extranicksrv_form" action="<?php //echo base_url('services'); ?>">
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G1" />
            <label><span class="price">$12.99</span> - 1 Month</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G2" /> <label>
            <span class="price">$23</span> - 3 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G3" />
            <label><span class="price">$40.99</span> - 6 Months</label>
         </div>
         <div class="buynowbtn" style="text-align: left;">
            <input name="service" type="radio" value="G4" />
            <label><span class="price">$59.99</span> - 1 Year</label>
         </div>
         <div class="buynowbtnbox-exe buynowbtnbox">
            <input type="hidden" name="<?php echo $csrf['name']; ?>" value="<?php echo $csrf['hash']; ?>" />
            <a class="btnSubmit" href="javascript:void(0)">Buy Now</a>
         </div>
      </form>
   </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script type="text/javascript">

   /*-----It will disable second form radio button---------*/
   $(".activenicksrv_form input[name=service]")
    .on("click", changeEvent);

   function changeEvent(event){
      if ($('.activenicksrv_form input[name=service]:checked').length > 0) {
         $(".extranicksrv_form input[type=radio]").attr('disabled', true);         
      }
   }

//--------


   /*-----It will disable first form radio button---------*/
   $(".extranicksrv_form input[name=service]")
    .on("click", changeEvent2);

   function changeEvent2(event){
      if ($('.extranicksrv_form input[name=service]:checked').length > 0) {
         $(".activenicksrv_form input[type=radio]").attr('disabled', true);         
      }
   }

</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM