我是编码的新手
只是寻求一些帮助, 我的代码是我正在设计的表格的片段
我想要做的是禁用日期输入框,除非第一个下拉='否',下拉数据是从SQL查询中提取的
Ellipse2D
有人可以帮忙吗?
答案 0 :(得分:0)
你需要使用javascript。如果你有一个唯一的行id $ rowid为1,2,3等
<td><select name="DATEACC" onChange="dateEnable(this)" id="DATEACC_$Row['id']">
<?php
$options = array(' ','YES','NO');
$output = '';
for( $i=0; $i<count($options); $i++ ) {
$output .= '<option value="'.$options[$i].'"'
. ( $Row['custdateaccepted'] == $options[$i] ? 'selected="selected"' : '' ) . '>'
. $options[$i]
. '</option>';
}
echo $output;?>
</select></td>
<td><input id="ADVDATE_$Row['id']" type="date" name="ADVDATE" value="<?php echo $Row['dateadvised'];?>"></td>
在javascript中
function dateEnable(dropdown){
var id = dropdown.id;
var rowid = id.split('_');
var myselect_value = dropdown.value;
if(myselect_value == 'NO') {
document.getElementById('ADVDATE'+'_'+rowid[1]).disabled = true;
} else {
document.getElementById('ADVDATE'+'_'+rowid[1]).disabled = false;
}
}
答案 1 :(得分:0)
只需在开始时停用日期输入
<input type="date" id="ADVDATE" name="ADVDATE" value="<?php echo $Row['dateadvised'];?>" disabled>
并在下拉列表中显示所需值时使用js / jquery启用它
$('[name=DATEACC]').change(function(){
if($(this).val() == 'DESIRED_VALUE')
$('[name=ADVDATE]').enable();
});
答案 2 :(得分:0)
不使用jQuery,你可以尝试:
function enabletextfield(e){
var el=typeof( e.target )!=='undefined' ? e.target : e.srcElement;
var value=el.options[ el.options.selectedIndex ].value;
var txtfield=document.querySelectorAll('input[type="date"][name="ADVDATE"]')[0];
txtfield.disabled = value=='NO' ? false : true;
}
<select name='DATEACC' id='DATEACC' onchange='enabletextfield(event)'>
<option value='MAYBE'>MAYBE
<option value='NO'>No
<option value='Yes'>Yes
</select>
<input type="date" name="ADVDATE" value="Some value or other" disabled=true />
显然更改选择菜单的名称以适应并将数据库中的正确值添加到日期输入框