簡體   English   中英

在復選框上同時啟用兩個提交按鈕

[英]Enable both submit button on checkbox click

我在一個頁面中使用了兩種形式,但是當我單擊復選框時,兩個提交按鈕都處於活動狀態,但是兩者都不同。

我要單擊表單一復選框,然后單擊激活的唯一一個表單按鈕,然后單擊表單二復選框,然后單擊激活的唯一的表單二提交按鈕。

 var checkboxes = $("input[type='checkbox']"), submitButt = $("input[type='submit']"); checkboxes.click(function() { submitButt.attr("disabled", !checkboxes.is(":checked")); }); 
 <h1>form one</h1> <form> <div> <input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label> </div> <div> <input type="submit" value="Do thing" disabled> </div> </form> <h1>form two</h1> <form> <div> <input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label> </div> <div> <input type="submit" value="Do thing" disabled> </div> </form> 

您可以相對地搜索“提交”按鈕並僅啟用找到的最接近的按鈕:

 var checkboxes = $('input[type="checkbox"]'); checkboxes.on('click', function(e) { $(this).closest('form') .find('input[type="submit"]') .prop("disabled", !$(this).is(":checked")); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <h1>form one</h1> <form> <div> <input type="checkbox" name="option-0" id="option-0"> <label for="option-0">Option 0</label> </div> <div> <input type="submit" value="Do thing" disabled> </div> </form> <h1>form two</h1> <form> <div> <input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label> </div> <div> <input type="submit" value="Do thing" disabled> </div> </form> 

最簡單的方法是簡單地在同一<form>祖先中找到Submit <input>元素:

$('input[type=checkbox]').on('change', function(){
  $(this).closest('form').find('input[type=submit]').prop('disabled', !this.checked);
});

 $('input[type=checkbox]').on('change', function() { $(this).closest('form').find('input[type=submit]').prop('disabled', !this.checked); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <h1>form one</h1> <form> <div> <input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label> </div> <div> <input type="submit" value="Do thing" disabled> </div> </form> <h1>form two</h1> <form> <div> <input type="checkbox" name="option-2" id="option-2"> <label for="option-2">Option 1</label> </div> <div> <input type="submit" value="Do thing" disabled> </div> </form> 

請注意,在您的HTML中,我還糾正了兩個<input>元素的重復id (並且還更改了name屬性)。

暫無
暫無

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

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