我在创建用户表单中有 3 个输入字段。根据状态的选择,我想使用特定值将接下来的 2 个字段设为只读。
因此,如果用户为 Status 选择“Full-Time”,接下来的 2 个字段应分别变为只读,值为 5 和 7.6。对于任何其他选择,它应保留为用户输入值的普通输入字段。
我怎样才能做到这一点?非常感谢任何帮助
答案 0 :(得分:1)
可以使用监听事件和jquery的attr方法来处理另外两个文本框的状态。这是一个例子。
function changeVal(e) {
console.log(e.target.value)
if (e.target.value == "Full Time") {
$("#workingday").val(5)
$("#workinghour").val(7.6)
$("#workingday").attr("readonly", true)
$("#workinghour").attr("readonly", true)
} else {
$("#workingday").val("")
$("#workinghour").val("")
$("#workingday").attr("readonly", false)
$("#workinghour").attr("readonly", false)
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<table>
<tr>
<td>status</td>
<td>Working Day in weeks</td>
<td>Working Hours Per Day</td>
</tr>
<tr>
<td>
<select onchange="changeVal(event)">
<option value="">--select--</option>
<option value="Full Time">Full Time</option>
<option value="other">other value</option>
</select>
</td>
<td>
<input type="text" id="workingday" name="workingday" value="0" />
</td>
<td>
<input type="text" id="workinghour" name="workinghour" value="0" />
</td>
</tr>
</table>
答案 1 :(得分:0)
为状态添加 runat 属性
runat="server"
然后取Status的值比较设置其他字段的参数
String statustxt = Status.Value;
if(Equals(statustxt, targettxt) {
workingdays.Text = "5";
workingdays.ReadOnly = true;
workinghours.Text = "7.6";
workinghours.ReadOnly = true; }
您也可以设置 Editable = false