gpt4 book ai didi

JavaScript 警报未给出正确的 fileID 值

转载 作者:行者123 更新时间:2023-12-03 00:04:34 25 4
gpt4 key购买 nike

我有一个 JSP 页面,其中列出了如下文件:

Screenshot

每个文件都有自己唯一的文件 ID,我尝试实现一个 for 循环来获取我“检查”复选框的文件的文件 ID。

我的JS:

function fireGENURL(a){
try{

var selectedFiles = $('.fileCheck:checked');


// var fileID =$(selectedFiles[0]).attr('fileid');
var count = 0;

for(var file in selectedItems){

file=$(selectedFiles).attr('fileid');

count += 1;
alert(file+"has been selected");

}

当我勾选一个框时,它会正确返回警报值,但是当我勾选两个框时,它会返回警报两次,但会返回第一个复选框的文件ID。它返回两次相同的 ID,但我的预期结果是它返回各自的 ID。

我在这里做错了什么吗?

编辑

function fireGENURL(a){
try{

var selectedFiles = $('.fileCheck:checked');
if(selectedFiles.length < 1 ){
alert("Please select at least one file.");
return false;
}

// var fileID = $(selectedFiles[0]).attr('fileid');
var $fileChecks = $('.fileCheck:checked');
$fileChecks.each(function() {
var file = $(this).attr('fileid');
alert(file+"has been selected");
});
var count = $fileChecks.length;



$('body').pWin("open", {
x: 260,
y: 47,
height: 450,
width: 881,
title: "Generate URL",
skinMode:'dialog',
iframe:true,
url: "file/url/genurl.jsp",
data: {
nodeid : file


},
offResize:true,
offMove:true,
onTitle:false,
offBottom:true
});



}catch(e)
{
alert(e);
}


}

最佳答案

使用each迭代.fileCheck:checked集合,然后可以在回调中使用$(this)来引用包含该元素的 jQuery 对象。在此基础上,您可以调用 .attr('fileid') 来获取您想要的内容:

const $fileChecks = $('.fileCheck:checked');
$fileChecks.each(function() {
const file = $(this).attr('fileid');
alert(file+"has been selected");
});
const count = $fileChecks.length;

您还可以考虑使用 data- 属性,而不是像 fileid 这样的非标准属性:

<input type="checkbox" data-fileid="foo">

并用

检索它
$(this).data('fileid');

关于JavaScript 警报未给出正确的 fileID 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55021335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com