if value = 3显示输入并添加必需属性

时间:2014-08-27 18:36:26

标签: jquery html

<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();
}
 }

3 个答案:

答案 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();
}
 }

希望它有所帮助。