问问题
13303 次
6 回答
3
你不需要传递任何东西,你需要的是一个适当的事件处理程序:
<select id="instructorSelector">
<option value='abrown@gmail.com'>Anna Brown</option>
<option value='jdoe@gmail.com'>Jane Doe</option>
...
</select>
<button id="btn" type="button">Send Email</button>
JS
$(function() {
$('#btn').hide();
$('#instructorSelector').on('change', function() {
$('#btn').show();
});
$('#btn').on('click', function() {
var select_value = $('#instructorSelector').val();
// use the value here
});
});
于 2013-07-22T21:26:33.343 回答
1
我会这样解决它:
disabled
使用正确的-attribute在开头禁用按钮- 如果框的值发生更改,则切换此属性,具体取决于是否选择了某些内容
- 将选择器存储在变量中,因此您无需一直重新查询它们
HTML
<select id="instructorSelector">
<option value="">Please select</option>
<option value="abrown@gmail.com">Anna Brown</option>
<option value="jdoe@gmail.com">Jane Doe</option>
</select>
<button class="send_email" type="button" disabled="disabled">Send E-mail</button>
JavaScript
// example of a selector using a class name
var button = $('button.send_email');
// example of using a selector using the id of an element
var selector = $('#instructorSelector');
selector.change(function () {
if ('' == selector.val()) {
button.attr('disabled', 'disabled');
} else {
button.removeAttr('disabled');
}
});
button.click(function(event) {
sendEmail(selector.val());
event.preventDefault();
});
演示
于 2013-07-22T21:32:19.387 回答
0
最简单的方法:http: //jsfiddle.net/rA4VJ/
<select id="instructorSelector">
<option value='none' selected>Choose Someone</option>
<option value='abrown@gmail.com'>Anna Brown</option>
<option value='jdoe@gmail.com'>Jane Doe</option>
</select>
<button id="btn" type="button">Send Email</button>
var btn = document.getElementById("btn");
var elm = document.getElementById("instructorSelector");
elm.onchange = function (e) {
if (elm.value != 'none') {
console.log(elm.value);
btn.removeAttribute('disabled');
} else {
btn.setAttribute('disabled', 'disabled');
}
}
于 2013-07-22T22:21:15.100 回答
0
尝试使用.chage()
jQuery http://api.jquery.com/change/使按钮可见
$('#instructorSelector').change(function () {
$('#id-of-the-button').show();
});
在这个 chang 函数中,您还可以捕获选项的值$(this).val()
于 2013-07-22T21:24:25.480 回答
0
如果您使用的是 JavaScript,则可以在 select 上设置 onchange 属性,该属性可以触发可以检查值并使按钮可见的方法。使用一个选项来表示没有选择,如果这是一个选择,隐藏按钮。
<select id="instructorSelector" onchange="something()">
<option value='selectone'>Select one</option>
<option value='abrown@gmail.com'>Anna Brown</option>
<option value='jdoe@gmail.com'>Jane Doe</option>
...
</select>
<button id="button" style="display:none;" onclick="sendEmail(($('instructorSelector').val()),...,...)" type="button">Send Email</button>
function something(){
if ( $('#instructorSelector').val()!='selectone' ) {
document.getElementById("button").style.display = 'block';
}
else{
document.getElementById("button").style.display = 'none';
}
}
于 2013-07-22T21:26:18.383 回答
0
我强烈推荐你阅读jQuery Event Basics
您将需要了解如何使用选择器和事件来真正利用 jQuery 的强大功能。
我认为在阅读有关事件后,您会看到如何click
并且change
将极大地有益于您为页面设定的目标。
于 2013-07-22T21:27:37.717 回答