Javascript 当文本框不为空或有值时禁用下拉列表
我有以下javascript代码,此处位置id是我UI中的一个文本框:Javascript 当文本框不为空或有值时禁用下拉列表,javascript,Javascript,我有以下javascript代码,此处位置id是我UI中的一个文本框: var locationIdValue = $('[name="location_id"]').val(); var chainIdSelection = $('[name="chain_id"]').val(); if (chainIdSelection == "" && locationIdValue == "") { this.displayFailureM
var locationIdValue = $('[name="location_id"]').val();
var chainIdSelection = $('[name="chain_id"]').val();
if (chainIdSelection == "" && locationIdValue == "") {
this.displayFailureMessage("Chain # is required.", 10000);
canSearch = false;
}
链Id是一个下拉列表,我有以下代码:
<select class="${prefix}ChainIdSelect" name="chain_id">
<option value=''><fmt:message key="select"/></option>
<c:forEach var="chainId" items="${ chainDescriptionList }" >
<option value="${chainId.chainId}"> ${chainId.chainId} - ${ chainId.description }</option>
</c:forEach>
</select>
这是行不通的,到目前为止,我尝试过的许多其他方法也是行不通的。任何人都可以提出解决方案。不确定您的代码是否正确,但您可能希望在事件回调中实现禁用逻辑。我想说的是添加回调,它将在每次更改
location\u id
时触发
在您的情况下,可能是这样的:
$('[name="location_id"]').change(function(){
if(locationIdValue != "" || locationIdValue != null){
$('[name="location_id"]').prop("disabled", true);
}
});
请验证更改值时是否执行回调 当执行第三条语句时?在上面的代码中没有具有
id=“chain\u id”
的元素
if(locationIdValue != "" || locationIdValue != null){
document.getElementByName("chainid").disabled = true;
}
$('[name="location_id"]').change(function(){
if(locationIdValue != "" || locationIdValue != null){
$('[name="location_id"]').prop("disabled", true);
}
});