2012-11-03 6 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"인 경우에만 필드 "Full Date"를 숨길 수 있기를 바랍니다. 필자는 필드 집합을 추가하기 전에 이러한 집합 중 5 개를 정적으로 표시하도록 양식을 만들었으며 onload = hide 및 getElementByID()를 사용했습니다. style.display = block/none은 div 요소에 대한 값에 따라 다릅니다. onchange로 입력하십시오. 하지만 이제는 모든 div id 이름이 같기 때문에 다른 세트에 영향을주지 않고 각 세트의 Full Date를 숨기는 방법을 알지 못합니다. –

답변

1

이 시도 :

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

답장을 보내 주셔서 감사합니다. 이것은 위대한 것입니다. 유일한 것은 두 번째 세트 인데요, 내가 다른 것을 바꾸려면 첫 번째 세트의 상반신에 영향을줍니다. '$ ("# upg'+ count + '") .change (function() { if ($ ("# upg'+ count + '") .val() == " EXP ") { $ ('# upg_date'). show(); else { $ ('# upg_date') hide(); } }); –

+0