안녕하세요,
두 가지 옵션이 있습니다.
<select name="calc_shipping_country" id="calc_shipping_country" class="country_to_state" rel="calc_shipping_state">
<option value="">Select a country…</option>
<option value="IE">Republic of Ireland</option>
<option value="GB" selected="selected">United Kingdom (UK)</option>
</select>
첫 번째 선택의 값이 UK와 같은 경우 다른 옵션으로 다음 코드 (다른 선택)를 표시하고 싶습니다.
$('#calc_shipping_state_field').after("<p class='form-row form-row-wide' id='calc_shipping_state_field' id=''> <select name='' id='county_selected' class='' rel=''> <option value=''>Select a county…</option> <option value='BE'>Bedfordshire</option> <option value='BER'>Berkshire</option> <option value='BRI'>Bristol</option> <option value='BUCK'>Buckinghamshire</option> <option value='CA'>Cambridgeshire</option> <option value='CHES'>Cheshire</option> <option value='LN'>City of London</option> </select></p>");
$( "#county_selected" ).change(function() {
$('#calc_shipping_state_field input.input-text').val($(this).find('option:selected').text());
});
값이 IE와 같으면이 선택을 표시합니다.
$('#calc_shipping_state_field').after("<p class='form-row form-row-wide' id='calc_shipping_state_field' id=''> <select name='' id='county_selected' class='' rel=''> <option value=''>Select a county…</option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> </select></p>");
// $('#calc_shipping_state_field input.input-text').val($(this).find('option:selected').text());
// });
첫 번째 선택에는 두 가지 옵션 만 있습니다. 다음 IF를 사용할 수 있다고 생각했습니다.
$('#calc_shipping_country').change(function(){
if($(this).val() == 'UK'){
$('#calc_shipping_state_field').after("<p class='form-row form-row-wide' id='calc_shipping_state_field' id=''> <select name='' id='county_selected' class='' rel=''> <option value=''>Select a county…</option> <option value='BE'>Bedfordshire</option> <option value='BER'>Berkshire</option> <option value='BRI'>Bristol</option> <option value='BUCK'>Buckinghamshire</option> <option value='CA'>Cambridgeshire</option> <option value='CHES'>Cheshire</option> <option value='LN'>City of London</option> </select></p>");
$( "#county_selected" ).change(function() {
$('#calc_shipping_state_field input.input-text').val($(this).find('option:selected').text());
});
}
else {
$('#calc_shipping_state_field').after("<p class='form-row form-row-wide' id='calc_shipping_state_field' id=''> <select name='' id='county_selected' class='' rel=''> <option value=''>Select a county…</option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> </select></p>");
$('#calc_shipping_state_field input.input-text').val($(this).find('option:selected').text());
});
}
});
하지만 작동하지 않습니다 ...
참조 : https://api.jquery.com/change/
누군가 나를 도와주고 내가 저지른 실수가 어디인지 말해 줄 수 있습니까?
감사합니다!
첫째, 옵션에는 가치가 'GB'
있지만 if 문에서는 if($(this).val() == 'UK')
.
또한 select
다음을 사용하여 추가 된 동적 태그 를 지우는 것이 좋습니다 .
$(this).next().remove();
마지막으로 괄호에 문제가 있다는 것입니다. 올바른 해결책 :
$('#calc_shipping_country').change(function(){
$(this).next().remove();
if($(this).val() == 'GB'){
$('#calc_shipping_country').after("<p class='form-row form-row-wide' id='calc_shipping_state_field' id=''> <select name='' id='county_selected' class='' rel=''> <option value=''>Select a county…</option> <option value='BE'>Bedfordshire</option> <option value='BER'>Berkshire</option> <option value='BRI'>Bristol</option> <option value='BUCK'>Buckinghamshire</option> <option value='CA'>Cambridgeshire</option> <option value='CHES'>Cheshire</option> <option value='LN'>City of London</option> </select></p>");
$( "#county_selected" ).change(function() {
$('#calc_shipping_state_field input.input-text').val($(this).find('option:selected').text());
});
}
else if($(this).val() == 'IE'){
$('#calc_shipping_country').after("<p class='form-row form-row-wide' id='calc_shipping_state_field' id=''> <select name='' id='county_selected' class='' rel=''> <option value=''>Select a county…</option> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> <option value='4'>4</option> <option value='5'>5</option> <option value='6'>6</option> <option value='7'>7</option> </select></p>");
$('#calc_shipping_state_field input.input-text').val($(this).find('option:selected').text());
}
});
jsfiddle에서 데모를 확인하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다