<select id='form'><option>1</option>
<option>2</option>
<option>3</option></select>
<input id='input' style='display:none'>
<input type='submit'>
我试图在#form = 3
时进行此操作,#input
将会显示,并且还会在其上添加所需内容。我错过了什么吗?
$("#input").change(function()
{
var confirm = $("#form");
if (confirm == 3){
$('#input').prop("required", true) && $('#input').show();
}
}
答案 0 :(得分:4)
一些事情:
两个等于布尔比较==
的符号(一个用于赋值)。
$(“#form”)只是返回一个表示DOM元素的Jquery对象。最有可能的是,您需要该元素中包含的值:$(“#form”)。val();
$("#input").change(function() {
var confirm = $("#form").val();
if (confirm == 3){
$('#input').prop("required", true) && $('#input').show();
}
}
答案 1 :(得分:1)
您需要附加事件监听器&#39;更改&#39;到#form
,因为那是正在改变的元素。
还需要获得所做选择的val()
$("#form").change(function() {
var confirm = $(this).val();
if (confirm == 3) {
$('#input').prop("required", true).show();
}
});
<强> jsFiddle Example 强>
(可选)隐藏输入(如果不是3)(如果他们更改选择)
$("#form").change(function() {
var confirm = $(this).val();
if (confirm == 3) {
$('#input').prop("required", true).show();
} else {
$('#input').hide();
}
});
<强> jsFiddle Example 强>
答案 2 :(得分:0)
你必须忘记选项中的val()函数和值。 它就像
<select id='form'><option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option></select>
<input id='input' style='display:none'>
<input type='submit'>
$("#input").change(function()
{
var confirm = $("#form").val();;
if (confirm == 3){
$('#input').prop("required", true) && $('#input').show();
}
}
希望它有所帮助。