我有一个复选框 JSFIDDLE 当其中一个复选框上的useR勾选时,它会打开一个新窗口,使用户可以在单击复选框按钮后查看下载PDF。我希望禁用下载功能,因此当用户再次勾选复选框按钮时,它会激活提交按钮。可以这样做吗?
var checkboxes = $("input[type='checkbox']"),
submitButt = $("input[type='submit']");
checkboxes.click(function() {
submitButt.attr("disabled", !checkboxes.is(":checked"));
});
checkboxes.click(function(e) {
e.preventDefault ();
window.open('{site_url}downloads/resellers/Standard_Terms_and_Conditions.pdf');
checkboxes[0].click();
submitButt.attr("disabled", !checkboxes.is(":checked"));
});
答案 0 :(得分:0)
像这样(请注意,出于安全原因,window.open在此代码段中不起作用)
function enableSub(submitButt ) {
submitButt.prop("disabled",$("input[type='checkbox']:checked").length==0);
}
$(function() {
var checkboxes = $("input[type='checkbox']"),submitButt = $("input[type='submit']");
enableSub(submitButt );
checkboxes.on("click",function() {
enableSub(submitButt );
if (this.checked) window.open('{site_url}downloads/resellers/Standard_Terms_and_Conditions.pdf');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h1>Button should be enabled if at least one checkbox is checked</h1>
<form>
<div>
<input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
</div>
<div>
<input type="checkbox" name="option-2" id="option-2"> <label for="option-2">Option 2</label>
</div>
<div>
<input type="checkbox" name="option-3" id="option-3"> <label for="option-3">Option 3</label>
</div>
<div>
<input type="checkbox" name="option-4" id="option-4"> <label for="option-4">Option 4</label>
</div>
<div>
<input type="checkbox" name="option-5" id="option-5"> <label for="option-5">Option 5</label>
</div>
<div>
<input type="submit" value="Do thing" disabled>
</div>
</form>