我的源代码中包含以下内容,我希望能够将公司灰化并停靠,如果有人选择运输或存储,则禁用
<select name="myselect" id="myselect">
<option value="shipping">Shipping</option>
<option value="Recieving" selected="selected">Reciving</option>
<option value="Storage">Storage</option>
</select>
company:<input name="company" type="text" id="company" /></div>
dock:<input name="dockingStation" type="text" id="dock" />
修改
我试过这个但是现在它删除了禁用的attribut但没有添加回来
<select name="myselect" id="myselect">
<option value="shipping">Shipping</option>
<option value="Recieving" selected="selected">Reciving</option>
<option value="Storage">Storage</option>
</select>
company:<input name="company" type="text" id="company" **disabled="disabled**"/>
dock:<input name="dockingStation" type="text" id="dock" disabled="disabled" />
和jquery是
$("#myselect").change(function() {
var val = $(this).val();
if(val == "shipping" || val == "storage") {
$("#company").attr("disabled", true) // this works
} else { $( “#公司”)。removeAttr( “已禁用”) 。焦点() } });
但是现在一旦启用我就无法再次禁用它
修改
现在工作
答案 0 :(得分:4)
$("#myselect").change(function() {
var val = $(this).val();
if(val == "shipping" || val == "storage") {
$("#company, #dock").prop("disabled", true)
} else {
$("#company, #dock").prop("disabled", false)
}
});
或者如果您更喜欢较短的解决方案:
$("#myselect").change(function() {
var val = $(this).val();
$("#company, #dock").prop("disabled", (val == "shipping" || val == "storage"));
}).change(); // optional, set the correct state if you don't know what
// the initial selected option will be on page load
简要说明:
请参阅: