`<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>
我有两个选择框1)状态[] 2)国家/地区。需要的是“如果所选国家不是美国,请禁用包含所有美国州的多选框”。任何帮助表示赞赏
答案 0 :(得分: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>
答案 1 :(得分: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");
}
}
当国家/地区组合框包含的值不是&#34; USA&#34;时,这将禁用状态组合框。当所选国家/地区为&#34; USA&#34;时,它将删除已禁用的属性并使其再次可用。
希望这有帮助。