所以我有这个HTML:
<input id="numberInput" name="numberInput"/>
<select>
<option>Some text</option>
<option class="" id="disableThis">Some text 2</option>
<option>Some text 3</option>
</select>
和Javascript代码:
$("#numberInput").on("change", function() {
var x = 20;
if ((Number("#numberInput")) > Number(x)) {
var d = document.getElementById("disableThis");
d.className = "hidden";
}
});
如果某个人在输入字段中输入的数字大于20,我会尝试禁用此特定的选择选项,但似乎无法弄明白该怎么做。
这是实时代码https://jsfiddle.net/qxqg32rk/
我该怎么做?
答案 0 :(得分:0)
$("#numberInput").on("change", function() {
var x = 20;
var value = $(this).val();
if (value > x) {
$("#disableThis").attr("disabled","disabled")
}else{
$("#disableThis").removeAttr("disabled","disabled")
}
});
答案 1 :(得分:0)
代码问题
分配“隐藏”类名不是禁用选择框的方式。您必须将disable属性设置为true。像这样document.getElementById('disableThis').disabled = true;
Number("#numberInput")
不会为您提供该输入框的值。您必须使用$("#numberInput").val()
作为
工作fiddle
答案 2 :(得分:0)
$("#numberInput").on("change", function() {
var x = 20;
if ($(this).val() > Number(x)) {
$('#disableThis').prop('disabled', 'disabled');
} else {
$('#disableThis').prop('disabled', false);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="numberInput" name="numberInput"/>
<select>
<option>Some text</option>
<option class="" id="disableThis">Some text 2</option>
<option>Some text 3</option>
</select>
答案 3 :(得分:0)
您需要使用.val()
方法引用该值以获取值,并使用.addClass()
方法将类添加到元素中:
$("#numberInput").on("keyup", function() {
var x = 20;
if (Number($("#numberInput").val()) > Number(x)) {
$("#disableThis").addClass("hidden");
}
});
<强>演示:强>
$("#numberInput").on("keyup", function() {
var x = 20;
if (Number($("#numberInput").val()) > Number(x)) {
$("#disableThis").addClass("hidden");
}
});
.hidden {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="numberInput" name="numberInput" />
<select>
<option>Some text</option>
<option class="" id="disableThis">Some text 2</option>
<option>Some text 3</option>
</select>
注意:强>
请注意,我在输入中使用了keyup
ebvent,以便在下拉菜单中立即生效。
答案 4 :(得分:0)
您只需使用 - What do you want to do ? (help) // this is a printf
move to position // this is a user input
- Select the position to get // this is a printf
10 // this is a user input
- New position is: 0 // this is a printf using the function ftell
属性
attr
});
答案 5 :(得分:0)
要获得numberInput
值,您应该使用val()
函数。在if
而不是添加类hiden,您还可以使用hide()
函数
$("#numberInput").on("change", function() {
var x = 20;
if ($("#numberInput").val() > x) {
$("#disableThis").hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="numberInput" name="numberInput"/>
<select>
<option>Some text</option>
<option class="" id="disableThis">Some text 2</option>
<option>Some text 3</option>
</select>