我有一个下拉列表),其中一个是输入类型=“文本”。我想要的是如果我从下拉列表中选择值{2,3}而不是第一个值,那么输入类型将被禁用,如果我再次选择第一个值,那么它将被启用。
答案 0 :(得分:1)
我们假设你有这个HTML代码:
<select id='dropdown'>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="text" id="textInput" />
然后,您可以对change
上的<select>
事件采取行动,通过添加事件侦听器来禁用或启用<input>
。
由于您正在使用jQuery(因为您已在问题中添加了jquery
标记),示例代码可能如下所示:
$('#dropdown').change(function() {
if( $(this).val() == 1) {
$('#textInput').prop( "disabled", false );
} else {
$('#textInput').prop( "disabled", true );
}
});
这是一个工作小提琴: https://jsfiddle.net/wx38rz5L/2268/
答案 1 :(得分:0)
您可以加入选择框的onchange
事件。如果将第一个项目设置为某个已知值(如空字符串或“first”或其他),则可以检查当前值并根据该值禁用或启用文本框。
var sel = document.getElementById("sel"), text = document.getElementById("text");
sel.onchange = function(e) {
text.disabled = (sel.value !== "");
};
<select id="sel">
<option value="">1</option>
<option>2</option>
<option>3</option>
</select>
<input type="text" id="text" />