Javascript 用于循环图像检查和显示的jQuery
下午好 一般来说,我在编码方面缺乏经验,我遇到了一个让我头疼的问题 如果你允许我来布置场景 我目前正在处理的项目部分涉及用户从仓库挑选物品以完成装运,在某些情况下,他们必须从不同的位置挑选相同的物品,当需要这样做时,物品旁边会出现小的“!”类型图标 然后,用户可以单击图标并选择要从中检索股票的位置,然后在模式上按确认,当模式关闭时,将文本设置回蓝色并隐藏图标 我遇到的问题是,一旦建立了所有位置,就需要处理订单,这需要单击一个按钮,我只想在所有“!”图标隐藏后显示该按钮 我知道有很多问题都是基于for循环和图像检查的,相信我,我说我自己也努力想弄清楚这一点,我尝试了不同的方法:Javascript 用于循环图像检查和显示的jQuery,javascript,jquery,html,for-loop,Javascript,Jquery,Html,For Loop,下午好 一般来说,我在编码方面缺乏经验,我遇到了一个让我头疼的问题 如果你允许我来布置场景 我目前正在处理的项目部分涉及用户从仓库挑选物品以完成装运,在某些情况下,他们必须从不同的位置挑选相同的物品,当需要这样做时,物品旁边会出现小的“!”类型图标 然后,用户可以单击图标并选择要从中检索股票的位置,然后在模式上按确认,当模式关闭时,将文本设置回蓝色并隐藏图标 我遇到的问题是,一旦建立了所有位置,就需要处理订单,这需要单击一个按钮,我只想在所有“!”图标隐藏后显示该按钮 我知道有很多问题都是基
ShowProcess = false
for (i = 0; i<Picker; i++) {
if ($('#MultiLocIcon'+i).is(':visible')){
ShowProcess = true
}
if (ShowProcess == true) {
$('#ProcessConfirm').show()
};
};
我觉得我的经历让我失望,因为我还有很多东西要学,而且我有一种怀疑的感觉,那就是解决方案会很容易,但话说回来,只有你知道怎么做才容易
如果有人能抽出时间帮我解决这个问题或给我提些建议,我将非常感激
下面是我的代码中可能有用的一部分:
模式“确认”按钮:
“!”图标:
我将根据您的HTML,选择所有警报图标,并在其上执行psuedo选择器。这将返回所有可见的警报图标,如果阵列中没有图标,则表示它们都不可见。您需要使用类来标识它们,例如.alert:
if( $(".alert:visible").length === 0 ){
// Do your code in here for no visible alert icons!
}
我要做的是基于您的HTML,选择所有警报图标,并在其上执行psuedo选择器。这将返回所有可见的警报图标,如果阵列中没有图标,则表示它们都不可见。您需要使用类来标识它们,例如.alert:
if( $(".alert:visible").length === 0 ){
// Do your code in here for no visible alert icons!
}
我给出的最简单的解决方案是在所有具有警告图标的表列中添加一个类警告
,然后检查其可见性
if($('.warning:visible').length === 0){
//all warning icons are hidden
}
我给出的最简单的解决方案是在所有具有警告图标的表列中添加一个类警告
,然后检查其可见性
if($('.warning:visible').length === 0){
//all warning icons are hidden
}
您需要在模态逻辑中添加第二个检查,可能在.hide()
之后:
这样做的目的是将:可见的
伪选择器和一个正则表达式选择器组合起来,用于所有img
标记和id
以“icon”开头的标记。这假设您不会有任何其他id为“icon*”的无关图像标记。如果长度为0,它将继续显示#ProcessConfirm元素。您需要在模态逻辑中添加第二个检查,可能在.hide()之后:
这样做的目的是将:可见的
伪选择器和一个正则表达式选择器组合起来,用于所有img
标记和id
以“icon”开头的标记。这假设您不会有任何其他id为“icon*”的无关图像标记。如果长度为0,它将继续并显示#ProcessConfirm元素。当用户单击模式上的确认时,您应该检查有多少图标仍然可见,如果数量为0,则显示按钮,如下所示:
// This searchs for every <td> with an id that contains '#MultiLocIcon'
// Then checks if the amount of those which are visible is 0 and do something
if ( $('td[id*=MultiLocIcon]').not(':visible').length === 0 ) {
$('#ProcessConfirm').show()
}
//搜索id包含“#MultiLocIcon”的每个
//然后检查可见的数量是否为0,并采取措施
如果($('td[id*=MultiLocIcon]')。不(':visible')。长度===0){
$('#ProcessConfirm').show()
}
当用户单击模式上的“确认”时,您应该检查有多少图标仍然可见,如果数量为0,则显示按钮,如下所示:
// This searchs for every <td> with an id that contains '#MultiLocIcon'
// Then checks if the amount of those which are visible is 0 and do something
if ( $('td[id*=MultiLocIcon]').not(':visible').length === 0 ) {
$('#ProcessConfirm').show()
}
//搜索id包含“#MultiLocIcon”的每个
//然后检查可见的数量是否为0,并采取措施
如果($('td[id*=MultiLocIcon]')。不(':visible')。长度===0){
$('#ProcessConfirm').show()
}
发布html dom结构如果您的第一个示例的唯一问题是它“显然不起作用,因为它将列表中的第一个变量设置为“true”,并且始终将其读取为true”,那么您为什么不将这一行更改为:ShowProcess=true
为ShowProcess&=true
?(另外,我认为您必须否定.is(“:visible”)
部分。)发布html dom结构如果您的第一个示例的唯一问题是它“显然不起作用,因为它将列表中的第一个变量设置为“true”,并且始终将其读取为true”,为什么不将这一行:ShowProcess=true
更改为ShowProcess&=true
?(另外,我认为您必须否定.is(“:visible”)
部分。)酷,您发布了与我相同的解决方案。如果您将代码与描述一起添加,这将是一个很好的解决方案:)谢谢您的输入@DietrichGeorge,我将在将来使用您的建议。酷,您发布了与我相同的解决方案。如果您将代码与描述一起添加,这将是一个很好的解决方案:)谢谢您的输入@DietrichGeorge,我将在将来使用您的建议。这太棒了@swornabsent,您是某种向导吗?这似乎是完美的工作,我现在,所以这是我将与…非常感谢!我知道我需要做一些第二次检查,但不知道怎么做。救世主。这很好,但可读性受到影响!(如果你是唯一的开发人员,不要太担心这个问题)这真是太神奇了@swornabsent,你是某种向导吗?这似乎是完美的工作,我现在,所以这是我将与…非常感谢!我知道我需要做一些第二次检查,但不知道怎么做。救世主,这是
// This searchs for every <td> with an id that contains '#MultiLocIcon'
// Then checks if the amount of those which are visible is 0 and do something
if ( $('td[id*=MultiLocIcon]').not(':visible').length === 0 ) {
$('#ProcessConfirm').show()
}