我是JavaScript的新手;我一整天都在谷歌搜索,但我只找到了如何使用一个复选框启用和禁用一个文本框。
的JavaScript
function enable_text(status){
status=!status;
document.sr2.other_text.disabled = status;
}
HTML
<form name=sr2 method=post>
<input type="checkbox" name=others onclick="enable_text(this.checked)">
Others
<input type=text name=other_text>
</form>
注意:我发布的代码仅适用于取消选中复选框时将启用的文本框。
我的问题是如何在取消选中复选框后禁用选择标记并启用文本框?
答案 0 :(得分:2)
在您的文本框中添加一个ID,然后只需将复选框的onclick
放在,而不是函数调用。
<form name=sr2 method=post>
<input type="checkbox" name=others onclick= "document.getElementById('id_of_txtbox').disabled=this.checked;">Others
<input type=text name=other_text>
答案 1 :(得分:0)
根据您的问题,您是否尝试提供下拉菜单,然后允许他们输入不在下拉列表中的其他值?
如果是这样,这是另一种方法:
HTML:
<select name="RenewalTerm" id="RenewalTerm">
<option value="12">12 Month</option>
<option value="24">24 Month</option>
<option value="36">36 Month</option>
<option value="Other">Other</option>
</select>
<span id="RenewalTermOtherFields">
<label labelfor="RenewalTermManual" >Enter Renewal Term: </label>
<input type="text" name="RenewalTermManual" id="RenewalTermManual" />
</span>
<强>的JavaScript / jQuery的:强>
$(document).ready(function() {
$('#RenewalTermOtherFields').hide();
$('#RenewalTermManual').val($('#RenewalTerm').val());
$('#RenewalTerm').change(function() {
var selectedItem = $("select option:selected").val();
if (selectedItem !== 'Other') {
$('#RenewalTermOtherFields').hide();
$('#RenewalTermManual').val($('#RenewalTerm').val());
}
else
{
$('#RenewalTermManual').val('');
$('#RenewalTermOtherFields').show();
}
});
});
看到它在行动!: http://eat-sleep-code.com/#/javascript/dropdown-with-other-field
这将允许您选择&#34;其他&#34;从列表中,当你这样做时,它会自动显示一个文本框,用于自由格式输入。
答案 2 :(得分:0)
这是HTML
<input type="text" id="txt" disabled="disabled"/>
<select name="sel" id="sel">
<option value="test1">Test 1</option>
</select>
<input type="checkbox" name="vehicle" value="Car" checked="checked" onclick="enableText(this.checked)">Uncheck to Disable Select and Enable Text
JavaScript是
function enableText(checked){
if(!checked){
document.getElementById('sel').disabled = true;
document.getElementById('txt').disabled = false;
}
else{
document.getElementById('sel').disabled = false;
document.getElementById('txt').disabled = true;
}
}
选中已禁用,取消选中复选框后启用文本,反之亦然。希望这会有所帮助。