2012-07-04 2 views
0

사용자가 미국을 선택하면 미국 도시에 대한 텍스트 상자를 표시하지만 사용자가 미국을 선택 취소하면 어떻게됩니까?jQuery : 특정 조건에 텍스트 상자 표시

미국이 선택되었는지 여부를 어떻게 확인할 수 있습니까? 도시 문자 숨기기 입력란이 아닌 경우. enter image description here 내 스크립트입니다 : 찾으면 내가 '미국'찾을 루프를 사용하여 다음 배열 구조에서 선택된 모든 값을 얻을 필요가 각 선택에

<tr> 
<td nowrap="nowrap"> 
<label for="countryId">Countries</label> 
</td> 
<td> 
<select id="countryId" onchange="usCity();" multiple="multiple" name="countryId[]"> 
<option value="1">United States</option> 
<option value="2">United Kingdom</option> 
<option value="3">Australia</option> 
<option value="4">UAE</option> 
<option value="5">Denmark</option> 
<option value="6">Czech Republic</option> 
<option value="7">Brazil</option> 
<option value="8">Singapore</option> 
<option value="9">Pakistan</option> 
<option value="10">Germany</option> 
<option value="11">India</option> 
<option value="12">SriLanka</option> 
<option value="13">UK</option> 
<option value="14">Algeria</option> 
<option value="15">Andorra</option> 
<option value="16">Caneda</option> 
<option value="17">HongKong</option> 
</select> 
</td> 
<td valign="top"> 
</tr> 
<tr id="usCitytr" style="display: none;"> 
<td nowrap="nowrap"> 
<label for="USCity">US City Name</label> 
</td> 
<td colspan="3"> 
<input id="USCity" type="text" value="" name="USCity"> 
</td> 
</tr> 

function usCity() 
    { 
     if ($("#countryId option:selected").text() == 'United States' || $("#countryId option:selected").text() == 'US'){ 
      $("#usCitytr").show(); 
     } 
    } 

나는 것은 다음 '미국의 도시'텍스트 상자에 다른 숨기기를 보여줍니다. 이것을 위해 내가 사용한

alert($('select#countryId').text()); 

그러나 콤보 박스에있는 모든 값을 반환합니다. 단지 값을 선택했지만 내가 필요한 방법 적

alert($('select#countryId').val()); 

반환 '미국'하지 '미국은'언제 어디 수 있기 때문에 '미국은'존재하는 인덱스입니다. 각 선택에

+0

나는 것은 내가 '미국'을 찾기 위해 루프를 사용하여 다음 배열 구조에서 선택된 모든 값을 얻을해야 다음 '미국 도시'텍스트 상자에 다른 숨기기를 보여 발견합니다. 이것을 위해 내가 사용 \t \t alert ($ ('select # countryId'). text()); 콤보 박스에있는 모든 값을 반환합니다. 도대체 \t \t alert ($ ('select # countryId') .Val()); 선택된 값만 반환하지만 'US'가 존재할 수 있기 때문에 'US'가있는 인덱스가 아니라 'US'가 필요합니다. –

답변

3
<option id="opt_US" value="1">United States</option> 


if ($("#opt_US").is(":selected") { 
    $("#usCitytr").show(); 
} else { 
    $("#usCitytr").hide(); 
} 
+0

사용자가 더 많은 국가를 선택할 수 있기 때문에 아니오입니다. 그가 미국과 아랍 에미리트를 선택하면 내 코드는 괜찮지 만 미국을 선택 취소하면 도시 상자가 숨겨져 야합니다 .. 미국을 선택한 다음 아랍 에미리트를 선택하면 코드 상자가 숨김 –

+0

+0

답변이 적절하게 편집되었습니다. –

0
function usCity() 
    { 
     if ($("#countryId option:selected").text() == 'United States' || $("#countryId option:selected").text() == 'US'){ 
      $("#usCitytr").show(); 
     } else { 
      $("#usCitytr").hide(); 
     } 
    } 
관련 문제