0
`<select multiple="multiple" name="state[]" id="state">
<option value="">Select a State</option>
<?php 
foreach($state_list as $key=>$value){
echo "<option value=\"$key\"";
if($html['state']==$key|| $row['state']==$key){
echo ' selected="selected"';
}
echo ">$value</option>\n";                                     
}?>
</select> </p>`


<p>Select A Country
<select name="country" id="country">
<option value="0">Select a Country</option>
<option value="USA">USA</option>                             
<option value="UK">UK</option>    
</select> </p>

2 つの選択ボックス 1)state[] 2) country があります。必要なのは、「選択した国が米国でない場合は、米国のすべての州で構成される複数選択ボックスを無効にする」ことです。どんな助けでも大歓迎です

4

2 に答える 2

2

この Javascript をコードに追加します。

<script type="text/javascript">
<!--
window.onload = function() {
    var selectCountry = document.getElementById('country');
    selectCountry.onchange = function() {
        document.getElementById('state').disabled = (selectCountry.value != 'USA')? true : false;
    };
};
//-->
</script>
于 2012-12-05T16:58:45.803 に答える
0

jQueryがある場合は、次のように実行できます。

$('#country').change(function () {
    if($('#country').val() != "USA") {
        $('#state').attr('disabled', 'disabled');
    }
    else {
        $('#state').removeAttr('disabled');
    }
});

または、プレーンJavaScriptを使用している場合:

var elem = document.getElementById("country");
elem.onchange = function () {
     if(elem.options[e.selectedIndex].value != "USA") {
         document.getElementById('state').disabled = "disabled";
     }
     else {
         document.getElementById('state').removeAttribute("disabled");
     }
}

これにより、国のコンボボックスに「USA」以外の値が含まれている場合、状態のコンボボックスが無効になります。選択した国が「USA」の場合、無効になっている属性が削除され、再び使用できるようになります。

お役に立てれば。

于 2012-12-05T16:48:32.690 に答える