2012-11-03 99 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

如果您有更多