Javascript 使表中的所有选定元素在特定条件下处于禁用状态
Javascript 使表中的所有选定元素在特定条件下处于禁用状态,javascript,jquery,html,Javascript,Jquery,Html,功能检查已分配(callno) { $.ajax({ url:'index.php?action=searchbookforassigningbarcode', 键入:“POST”, 数据类型:“JSON”, 数据:{callno:callno}, 成功:功能(数据){ if(数据长度) { 如果(数据[0]['DataAvail']!=0) { 用于(数据中的var i) { var issuehistory=数据[i]['issuehistory']; for(发行历史中的var j) {
功能检查已分配(callno)
{
$.ajax({
url:'index.php?action=searchbookforassigningbarcode',
键入:“POST”,
数据类型:“JSON”,
数据:{callno:callno},
成功:功能(数据){
if(数据长度)
{
如果(数据[0]['DataAvail']!=0)
{
用于(数据中的var i)
{
var issuehistory=数据[i]['issuehistory'];
for(发行历史中的var j)
{
$('.library\u info\u tbl')。查找('select')。每个(函数(){
var id=$(this.id);
if(id==issuehistory[j]['acquisitionno'])
{
$(this.prop(“disabled”,true);
}
});
}
}
}
}
}
});
}
...
...
选择DamagedLost
...
...
选择DamagedLost
...
...
一种更简单的方法是首先映射一个acquisitionno
数组,然后根据新数组中的值进行筛选选择
根据数据结构的外观,其外观如下所示:
var acquisitionno = data.map(e=> e.issuehistory.acquisitionno)
$('table select').prop('disabled', function(){
return acquisitionno.includes(this.id)
})
以上假设数据结构如下所示:
[{
issuehistory: {
acquisitionno: 16
}
},
{
issuehistory: {
acquisitionno: 17
}
}
]
更简单的方法是首先映射
acquisitionno
数组,然后根据新数组中的值进行筛选选择
根据数据结构的外观,其外观如下所示:
var acquisitionno = data.map(e=> e.issuehistory.acquisitionno)
$('table select').prop('disabled', function(){
return acquisitionno.includes(this.id)
})
以上假设数据结构如下所示:
[{
issuehistory: {
acquisitionno: 16
}
},
{
issuehistory: {
acquisitionno: 17
}
}
]
假设您的ID是唯一的,那么只需使用此逻辑即可
if ( data.issuehistory )
{
data.issuehistory.forEach( function( issuehistory ){
$( "#" + issuehistory[ "acquisitionno" ] ).prop("disabled", true);
});
}
演示
var数据={
“发行历史”:[{
“收购编号”:16,
},
{
“收购编号”:17,
}
]
};
if(数据发布历史){
data.issuehistory.forEach(函数(issuehistory){
$(“#”+issuehistory[“acquisitionno”]).prop(“disabled”,true);
});
}
选择DamagedLost
选择DamagedLost
假设您的ID是唯一的,那么只需使用此逻辑即可
if ( data.issuehistory )
{
data.issuehistory.forEach( function( issuehistory ){
$( "#" + issuehistory[ "acquisitionno" ] ).prop("disabled", true);
});
}
演示
var数据={
“发行历史”:[{
“收购编号”:16,
},
{
“收购编号”:17,
}
]
};
if(数据发布历史){
data.issuehistory.forEach(函数(issuehistory){
$(“#”+issuehistory[“acquisitionno”]).prop(“disabled”,true);
});
}
选择DamagedLost
选择DamagedLost
您可以共享数据的结构吗?
?另外,您在浏览器控制台中看到了什么错误?根据定义,元素ID在页面中必须是唯一的。改用数据-
属性。提供一个数据样本,如“是”,它们已经是唯一的。好吧,在编辑之前,它们不是唯一的。再现问题的数据样本在哪里?您可以共享数据的结构吗?
?另外,您在浏览器控制台中看到了什么错误?根据定义,元素ID在页面中必须是唯一的。改用数据-
属性。提供一个数据样本,如“是”,它们已经是唯一的。好吧,在编辑之前,它们不是唯一的。重现问题的数据样本在哪里?@charlietfl是的,刚刚意识到。它没有生成所需的选择元素disabled@Nida它应该,检查演示。@Nida什么不起作用?我没有在我的帖子中分享一个工作演示吗?这段代码没有生成所需的select元素disabled@charlietfl是的,刚刚意识到。它并没有生成所需的选择元素disabled@Nida它应该,检查演示。@Nida什么不起作用?我没有在我的帖子中分享一个工作演示吗?这段代码没有禁用所需的select元素