簡體   English   中英

如果選擇了某個單選按鈕,則需要一個 TextBox

[英]Make a TextBox required if a certain Radio button is selected

如果某個單選值被選為現金,我想實現一個文本框將更改為 required="true"

這是我的 html 表單:

<label class="radio"> <input type="radio" name="payment" value="Cash" id="cashpayment" checked><span><img width="30" src="images/icons8-cash-in-hand-48.png"/></span></label>
<label class="radio"> <input type="radio" name="payment" value="SD" id="sdpayment"><span><img width="30" src="images/icons8-budget-48.png"/></span></label>
<label class="radio"> <input type="radio" name="payment" value="Budget" id="budgetpayment"><span><img width="30" src="images/icons8-office-48.png"/></span></label>

這是我的 jQuery 代碼(jQuery v3.3.1)

$(document).ready(function(){
    $("input[name='type']:radio").change(function(){
        if($(this).val() == 'Cash')
        {
          $('#cashtender').attr('required');
        }
        else if($(this).val() == 'SD')
        {
          $('#cashtender').removeAttr('required');
        }
        else if($(this).val() == 'Budget')
        {
          $('#cashtender').removeAttr('required');
        }
    });
});

它不工作。 請幫忙

我可以看到幾個錯誤:

  1. 單選按鈕的選擇器不正確: $("input[name='type']:radio")應該是$("input[name='payment']:radio")

  2. 設置屬性時,應在第二個參數中提供值或使用 prop: $('#cashtender').attr('required'); 應該是$('#cashtender').attr('required', 'required'); $('#cashtender').prop('required', true);

完整代碼(刪除不必要的else if條件):

$(document).ready(function(){
    $("input[name='payment']:radio").change(function(){
        if($(this).val() == 'Cash')
        {
          $('#cashtender').prop('required', true);
        }
        else
        {
          $('#cashtender').removeAttr('required');
        }        
    });
});

暫無
暫無

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

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