2012-11-03 129 views
0

我有一个问题,关于附加一组输入字段,默认情况下禁用一些字段,直到第一个字段被回答。这是我附加字段的代码。附加的输入形式的输入集 - 隐藏额外的字段,直到选择第一个字段

var count = 0; 
    $(function(){ 
    $('a#add_field').click(function(){ 
    count += 1; 
    $('#row-fluid').append(

    '<div class="span1">' 
    +'<label>Type</label>' 
    +'<select id="upg' + count + '" name="upg' + count + '" class="input-small" >' 
    +'<option value="" selected="&nbsp;" >&nbsp;</option>' 
    +'<option value="Exp" >Exp</option>' 
    +'<option value="Post" >Post</option>' 
    +'<option value="Upgrade" >Upg</option>' 
    +'<option value="Retail" >Retail</option>' 
    +'</select>' 
    +'</div>' 

    +'<div id="upgDate" class="span2">' 
    +'<label>Full Date</label>' 
    +'<input name="upg_date' + count + '" id="upg_date' + count + '" type="text" id="upg_date" placeholder="YYYY-MM-DD" class="input-small" />' 
    +'</div>' 

    ); 
    }); 
    }); 

基本上,输入“全日”应该是默认隐藏,只显示如果选择的“类型”是EXP这种情况应该设置的所有附加输入存在。谢谢,我希望有人能指导我。

+0

检查: http://stackoverflow.com/questions/12534853/jquery-enable-select-only-if-certain-options-are-selected – Vucko

+0

@Vucko感谢您的回复。你给我的链接是关闭的区别是,我希望字段“全日期”被隐藏,直到并且只有当类型是“Exp”。在我学习追加字段集之前,我有我的表单,其中5个集合静态显示,我使用onload = hide和getElementByID()。style.display = block/none根据通过onchange键入。但现在,因为我所有的div id名称都是相同的,我不知道如何触发隐藏每个集合的完整日期,而不会影响其他集合。 –

回答

1

试试这个:

$("#upg").change(function(){ 
    if ($("#upg").val() == "EXP") { 
     $('#upg_date').show(); 
    } else { 
     $('#upg_date').hide(); 
    } 
}); 
+0

谢谢你的回复。这很好,唯一的是第二盘,如果我要改变其他东西,它会影响第一盘的升级。 ($(“#upg'+ count +'”).change(function(){if($#“upg'+ count +'”).val()==“ ('#upg_date')。hide(); } });'('#upg_date').show(); } –

+0

如果您有更多