【问题标题】:Multiple on change on two select options对两个选择选项进行多次更改
【发布时间】:2018-08-09 08:30:54
【问题描述】:
我正在尝试进行 2 个选择,一个是请求类型,一个是请求编号
像这样:
- 里面的请求类型是:CR,PR,BR,BPI,T
- 在请求编号中是:CR,PR,BR,BPI,T(选择 BPI 时应该禁用 T)
代码如下:
<td>Request Type</td>
<select name='cr_type' id='cr_type' >
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
<option value='BPI'>BPI</option>
<td>Request Number</td>
<select name='cr_code' id='cr_code' >
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
并且我想这样做,如果我选择 CR、PR、BR 和 T,它们将自动生成相应类型的请求编号(CR 到 CR,PR 到 PR,BR 到 BR,和 T进入T),然后禁用因此无法更改,如果我选择BPI,它们会变成手动选择CR,PR和BR。
【问题讨论】:
标签:
javascript
php
mysql
select
【解决方案1】:
var crType = document.getElementById("cr_type"),
crCode = document.getElementById("cr_code");
crType.onchange = function() {
var value = crType.value;
if (value !== 'BPI') {
crCode.value = value;
crCode.disabled = true;
} else {
crCode.value = '';
crCode.disabled = false;
}
};
<td>Request Type</td>
<select name='cr_type' id='cr_type'>
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
<option value='BPI'>BPI</option>
</select>
<br>
<td>Request Number</td>
<select name='cr_code' id='cr_code' >
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
</select>
【解决方案2】:
如果我理解正确,您可以获取以下代码:
(您的页面上需要有 jQuery 库)
<td>Request Type</td>
<select name='cr_type' id='cr_type'>
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
<option value='BPI'>BPI</option>
</select>
<td>Request Number</td>
<select name='cr_code' id='cr_code'>
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
</select>
<script type="text/javascript">
$(document).ready(function () {
$('#cr_type').on('change', function () {
var crVal = $(this).val(),
crCode = $('#cr_code'),
optionT = crCode.find('option[value="T"]');
if ("BPI" === crVal) {
optionT.attr('disabled', 'disabled');
crCode.val('');
} else {
optionT.removeAttr('disabled');
crCode.val(crVal);
}
});
});
</script>
【解决方案3】:
这是我的回答希望它能解决你的问题
<form method="post">
<td>Request Type</td>
<select name='cr_type' id='cr_type' onchange="submit()">
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
<option value='BPI'>BPI</option>
</select>
<br>
<td>Request Number</td>
<?php if(($_POST['cr_type']=="BPI")){ ?>
<select name='cr_code' id='cr_code' >
<option value=''>-Pilih-</option>
<option value='CR'>CR</option>
<option value='PR'>PR</option>
<option value='BR'>BR</option>
<option value='T'>T</option>
</select>
<?php }else if(($_POST['cr_type']!="BPI")){ ?>
<input type="text" name="" value="<?php echo $_POST['cr_type'] ?>" readonly>
<?php }else if(!isset($_POST['cr_type'])){ ?>
Silakan Pilih request Type
<?php } ?>
</form>
<script type="text/javascript">
document.getElementById('cr_type').value = "<?php echo $_POST['cr_type'];?>";
</script>