Javascript 当所选下拉选项的值大于0时,激活提交按钮
如果用户从下拉菜单中选择一个选项,我试图在代码中显示提交按钮。我想我可以通过使用value属性来实现这一点。请看下面我的代码,我已经包含了一些JavaScript,但我知道这可能是完全错误的Javascript 当所选下拉选项的值大于0时,激活提交按钮,javascript,jquery,Javascript,Jquery,如果用户从下拉菜单中选择一个选项,我试图在代码中显示提交按钮。我想我可以通过使用value属性来实现这一点。请看下面我的代码,我已经包含了一些JavaScript,但我知道这可能是完全错误的 <select id="button1" class="button" title="Button 1"> <option value="0">--Please choose an option for the first blank--</option> <
<select id="button1" class="button" title="Button 1">
<option value="0">--Please choose an option for the first blank--</option>
<option id="buttonText1_1" class="buttonText" value="1">Arsenal</option>
<option id="buttonText1_2" class="buttonText" value="2">Spurs</option>
<option id="buttonText1_3" class="buttonText" value="3">Liverpool</option>
<option id="buttonText1_4" class="buttonText" value="4">Man Utd</option>
<option id="buttonText1_5" class="buttonText" value="5">Man City</option>
</select>
<div class="break"></div>
<select id="button2" class="button" title="Button 2">
<option value="0">--Please choose an option for the second blank--</option>
<option id="buttonText2_1" class="buttonText" value="1">Lampard</option>
<option id="buttonText2_2" class="buttonText" value="2">Gerrard</option>
<option id="buttonText2_3" class="buttonText" value="3">Scholes</option>
<option id="buttonText2_4" class="buttonText" value="4">Viera</option>
<option id="buttonText2_5" class="buttonText" value="5">Keane</option>
</select>
<div class="break"></div>
<button title="Submit Button" id="submitButton" class="button" onClick="submitClick()">
<p id="submitText" class="buttonText">Submit</p>
</button>
我已在中使用此代码进行了修改。提前谢谢你 使用jQuery
$('select').on('change', function() {
// shows the button if even one select has selected option
$btn = $('#submitButton');
$btn.hide();
$('select').each(function() {
if ($(this).val() != 0) {
$btn.show();
return false;
}
});
});
我已经用jQuery把你的分叉了:
$('select').on('change', function() {
// shows the button if even one select has selected option
$btn = $('#submitButton');
$btn.hide();
$('select').each(function() {
if ($(this).val() != 0) {
$btn.show();
return false;
}
});
});
如果您只想在两个选项都有值>“0”时才显示按钮,我已将您的分叉。您可以通过以下方式进行检查: VanillaJS:
function submitVisiblity() {
// If you use numeric value into options' "value" attribute you should convert (parse) the option value from a string to an integer
if (parseInt(document.getElementById("button1").value) > 0 &&
parseInt(document.getElementById("button2").value) > 0) {
document.getElementById('submitButton').style.display = 'block'
} else {
document.getElementById('submitButton').style.display = 'none'
}
}
document.getElementById("button1").onchange = submitVisiblity
document.getElementById("button2").onchange = submitVisiblity
JQuery:
$("#button1,#button2").on('change',function() {
if (parseInt($("#button1").val()) > 0 && parseInt($("#button2").val()) > 0) {
$('#submitButton').show()
} else {
$('#submitButton').hide()
}
});
再见:)如果您只想在两个选择值均大于“0”时显示按钮,您可以通过以下方式进行检查: VanillaJS:
function submitVisiblity() {
// If you use numeric value into options' "value" attribute you should convert (parse) the option value from a string to an integer
if (parseInt(document.getElementById("button1").value) > 0 &&
parseInt(document.getElementById("button2").value) > 0) {
document.getElementById('submitButton').style.display = 'block'
} else {
document.getElementById('submitButton').style.display = 'none'
}
}
document.getElementById("button1").onchange = submitVisiblity
document.getElementById("button2").onchange = submitVisiblity
JQuery:
$("#button1,#button2").on('change',function() {
if (parseInt($("#button1").val()) > 0 && parseInt($("#button2").val()) > 0) {
$('#submitButton').show()
} else {
$('#submitButton').hide()
}
});
拜拜:)如果选择了第一个(可能有空值)选项,禁用“提交”按钮会更有效。很奇怪,你没有使用实际的按钮……你不需要按钮内部的,我想我从未见过。@Adam同意,如果选择了第一个(可能有空值)选项,则禁用“提交”按钮会更有效。非常奇怪的是,您没有使用实际的按钮……您不需要按钮内部的,我想我从未见过。@Adam同意,奇怪的是,你可以将按钮隐藏在select#each循环之外,并阻止一些DOM搜索。嗯,是的,在这种情况下,本可以保存隐藏按钮的一次迭代,但仍然可以完成任务。当然,它可以工作。我想指出的是,如果我错过了一些东西,你可以将按钮隐藏在select#each循环之外,并阻止一些DOM搜索。嗯,是的,在这种情况下,本可以保存隐藏按钮的一次迭代,但仍然可以完成任务。当然,它是有效的。我只是想指出一下万一我漏掉了什么