RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-479903

ZxNuClear's questions

Martin Hope
ZxNuClear
Asked: 2024-09-28 17:42:20 +0000 UTC

为创建的元素添加事件监听器

  • 5

大家下午好。我试图弄清楚当您单击正在创建的块的每三个元素时如何调用模态窗口,问题是第一次单击被“忽略”,并且只有再次单击第三个元素后模态才会打开span。我猜addEventListener它不知道“提前”创建的块的存在,因此第一次单击被忽略并且模式不会打开。有办法解决这个问题吗?

const btn = document.querySelector("#btn");
const modal = document.querySelector("#modal");
const info = document.querySelector(".info");

btn.addEventListener('click', () => {
  info.innerHTML += `<div><span>1</span><span>2</span><span data-del>3</span></div>`
})

info.addEventListener('click', (e) => {
  const target = e.target.closest('[data-del]');
  if (!target) return;
  
  target.addEventListener("click", () => {
    modal.showModal();
  });
})
div {
  width: 100%;
  height: 30px;
}
span {
  display: inline-block;
  width: 50px;
  background-color: aqua;
  margin: 5px;
  text-align: center;
}
.info {
  width: 300px;
}
<button id="btn">Добавить строку</button>
<div class="info"></div>

<dialog id="modal">
  <p>Модальное окно</p>
</dialog>

ps我对JS只是表面上的熟悉,所以我不排除我自己在代码中犯的平庸错误

javascript
  • 1 个回答
  • 37 Views
Martin Hope
ZxNuClear
Asked: 2023-10-03 02:10:54 +0000 UTC

数据不是以 csv 格式下载,而是以文本形式显示在页面上

  • 5

大家好。该代码有一个“半工作”版本,按照计划,应该将从数据库接收的数据下载为 .csv 文件。事实上,它是半工作的,因为如果数据库的请求返回少量数据,则下载文件,但如果从数据库返回超过 25-30 行,则所有这些数据将显示为页面上的文本,而不是将其作为文件提供。该函数本身如下所示:

public function getReport( Request $request, Response $response ): Response
{
  $form = $request->getParsedBody();

  $get_report = $this->database->getConnection()->prepare( 'SELECT * FROM cafe WHERE date between :after AND :before' );
  $get_report->execute([
    'after' => $form['date-after'],
    'before' =>  $form['date-before']
  ]);

  $stream = fopen('php://output', 'w');

  while($row = $get_report->fetch()) {
      fputcsv($stream, $row, ";");
  };

  return $response
    ->withHeader('Content-Type', 'application/csv')
    ->withHeader('Content-Disposition', 'attachment; filename="export.csv";');
}

我自己处理不了,我来找你帮忙:{

php
  • 1 个回答
  • 19 Views
Martin Hope
ZxNuClear
Asked: 2023-04-07 05:17:40 +0000 UTC

代码优化(循环、条件)

  • 5

我有一个看起来像这样的谷歌电子表格:

在此处输入图像描述

进一步通过DataFrame库,Pandas我从该表中获取数据以进行进一步分析。有一定的Архив,有一堆Номер - Цвет。任务是计算列中每种颜色的数量D,但条件是列中的数字C可以在列中重复A,在这种情况下,数字Красного必须与 相加Разноцветным。只有具有Красный与之关联的颜色的数字才能被复制。(如果此值重复,则考虑此颜色不是红色,而是多色,并相应地对此类双打的数量求和,而不是红色,而是多色)。

关于代码。这是我能想到的。它似乎完全完成了任务,但它看起来相当脏且可读性差。你能建议如何梳理它并可能摆脱嵌套条件吗?

import pandas as pd
from sheets import *

# Столбец A (архив)
archive = pd.DataFrame(test_sheet.get_values('A2:A21'), columns=['Номер'])
# Столбцы C,D (номер, цвет)
column = pd.DataFrame(test_sheet.get_values('C2:D21'), columns=['Номер', 'Цвет'])

color = {
    'Красный': 'Красный|красный',
    'Белый': 'Белый|белый',
    'Синий': 'Синий|синий',
    'Зеленый': 'Зеленый|зеленый',
    'Разноцветный': 'Разноцветный|разноцветный',
    'Оранжевый': 'Оранжевый|оранжевый'
}

to_archive = 0  # Перенос в архив через данную переменную

for key in color.keys():
    col_ = column[column['Цвет'].str.contains(color[key])]
    if key == 'Красный' and len(col_) > 0:
        double = pd.merge(archive, col_, how='inner')
        if len(double) > 0:
            to_archive = len(double)
            print(f'{key}: {len(col_) - to_archive}')
        else:
            print(f'{key}: {len(col_) - len(double)}')
    elif key == 'Разноцветный':
        print(f'{key}: {len(col_) + to_archive}')
    else:
        print(f'{key}: {len(col_)}')
print('******************')

结论:

Красный: 3
Белый: 2
Синий: 3
Зеленый: 3
Разноцветный: 5
Оранжевый: 4
******************

我添加一个链接到源文件

python
  • 1 个回答
  • 55 Views
Martin Hope
ZxNuClear
Asked: 2022-09-04 08:00:24 +0000 UTC

在按钮单击页面上执行 Google Apps 脚本中的功能

  • 0

我有一个带有表单的页面(在主机上,未部署为 GAS 中的 Web 应用程序),其中的数据在发送时会飞入谷歌电子表格。我想在页面上添加一个按钮,点击后,谷歌电子表格中的工作表清理功能就会启动。GAS 中的清理函数本身如下所示:

function clearList() {
  var lastRow = myTable.getLastRow();
  var range = myTable.getRange(2, 1, lastRow, 3);
  range.clear();
}

如果您从 GAS 控制台运行该函数本身,它就可以工作。我无法理解如何通过按页面上的按钮来实现此功能的启动。

UPD

我们设法用 GAS 解决了这个问题,可以从 doGET 调用所需的函数:

function doGet(e) {
  if (e.parameter.function == "clearList") {
    clearList();
    return ContentService.createTextOutput('Успешно!!!');
  }
  else {
    return ContentService.createTextOutput('Параметр не был передан');
  }
}

如果您在浏览器中点击链接,https://script.google.com/macros/s/<ID>/exec?function=clearList则会触发该功能并清除表格。仍然需要弄清楚如何通过 GET 请求来做到这一点,以便在按下按钮/提交表单时,链接不跟随,而是发送带有参数的请求?function=clearList

我希望 +/- 清楚地解释,对这个主题知之甚少。

javascript
  • 2 个回答
  • 50 Views
Martin Hope
ZxNuClear
Asked: 2022-08-31 19:40:24 +0000 UTC

循环并修改列表列表

  • 0

我从谷歌电子表格中获取数据,如下所示:

[['Иван', '253054', '29,84'],
 ['Александр', '246041', '28,56'],
 ['Антон', '324203', '32,02'],
 ['Дмитрий', '311052', '32,33']]

接下来,我想通过电报机器人以可读的形式传输这些数据。为此,嵌套列表的第一个元素(名称)需要在末尾添加这么多空格,直到它们的长度变为 20 个字符,第二个和第三个元素在前面添加空格,直到它们的长度为 7 个字符。结果应该是这样的:

Иван              253054  29,84
Александр         246041  28,56
Антон             324203  32,02
Дмитрий           311052  32,33

我在JS上问了一个类似的问题,他们告诉我怎么做

x = x.map(
  ([name, i, j]) => name.padEnd(15, " ") + i.padStart(7, " ") + j.padStart(7, " ") + '\n'
)

现在有必要在 python 中做同样的事情。我会很高兴得到任何帮助。谢谢

python
  • 1 个回答
  • 37 Views
Martin Hope
ZxNuClear
Asked: 2022-07-10 23:33:32 +0000 UTC

更改数组元素

  • 0

我有一个这样的数组

[ [ 'Alex', '167%', '45%' ],
  [ 'Benjamin', '12%', '0%' ],
  [ 'Elijah', '117%', '115%' ],
  [ 'Liam', '56%', '5%' ],
  [ 'Theodore', '135%', '114%' ],
  [ 'Mia', '128%', '100%' ] ]

必须带入此表格。

    [ [ 'Alex                167%   45%' ,
      [ 'Benjamin             12%    0%' ,
      [ 'Elijah              117%  115%' ,
      [ 'Liam                 56%    5%' ,
      [ 'Theodore            135%   14%' ,
      [ 'Mia                 128%  100%'  ]

那些。我需要在最后为所有嵌套数组的每个第一个元素添加空格,使该元素的长度变为 18 个字符,并在第二个和第三个元素前面添加空格,使其长度变为 6 个字符(共 30 个字符) .

对于具有两个元素的数组的示例,代码如下:

const items = [
  ['Alex', '167%'],
  ['Benjamin', '127%'],
  ['Elijah', '117%'],
  ['Liam', '136%'],
  ['Theodore', '135%'],
  ['Mia', '128%']
];


const combined = items.map(([name, percent]) =>
  name.padEnd(29 - percent.length, ' ') + percent
);

console.log(combined);

如何针对我的任务进行修改?谢谢

javascript массивы
  • 1 个回答
  • 34 Views
Martin Hope
ZxNuClear
Asked: 2022-06-12 06:12:22 +0000 UTC

需要少量的谷歌脚本编辑

  • -1

有一个现成的 Google 脚本允许您将数据从页面上的表单传输到 Google 电子表格。该脚本的编写方式是,在发送数据时,它会在一个单元格中添加格式为 dd.mm.yyyy hh:mm:ss 的时间戳。应该如何编辑代码,以便时间戳将日期插入一个单元格,将时间插入下一个单元格,然后插入其余数据?需要帮助或建议。提前致谢。

google-apps-script
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5