请帮忙,我真的非常需要它!
有以下数据库,其中该列中的input
所有值都被加密base64
:
这是它的解密版本:
{
"height": {
"name": "Максимальна висота",
"text": {
"ua": "Максимальна висота"
},
"value_start": 2000,
"value_max": 2600,
"value_min": 1800,
"help": {
"ua": "Максимальна висота"
}
},
"widtha": {
"name": "Максимальна ширина",
"text": {
"ua": "Максимальна ширина"
},
"value_start": 1200,
"value_max": 1600,
"value_min": 1000,
"help": {
"ua": "Максимальна ширина"
}
},
"width": {
"name": "Мінімальна ширина",
"text": {
"ua": "Мінімальна ширина"
},
"value_start": 900,
"value_max": 1500,
"value_min": 700,
"help": {
"ua": "Мінімальна ширина"
}
}
}
之后我从数据库创建输出:
$input = '';
$input_arr = json_decode($calc_rez['input'],true);
foreach($input_arr as $input_one_id => $input_one_value) {
if (isset($input_one_value['help'])) {
$help = 'data-bs-toggle="tooltip" data-bs-placement="left" data-bs-title="'.base64_decode($input_one_value['help'][$_SESSION['LANG']]).'"';
} else if (isset($input_one_value['help_page'])) {
$help = 'onClick="showPopHelp('.$input_one_value['help_page'].')"';
} else {$help = '';}
$input .= '
<div class="box">
<input name="input-'.$input_one_id.'" type="number" value="'.$input_one_value['value_start'].'" data-max="'.$input_one_value['value_max'].'" data-min="'.$input_one_value['value_min'].'" />
<label>'.base64_decode($input_one_value['text'][$_SESSION['LANG']]).'</label>
<i class="fa fa-question-circle" '.$help.'></i>
</div>
';
$div.='
<div id="input-'.$input_one_id.'" class="input-'.$input_one_id.'">'.$input_one_value['value_start'].'</div>
';
}
在这里,我输出了上面代码的结果:
<form class="data">
<div class="input">
{$input}
</div>
<div class="col-md-7 scheme">
<div class="config-text">
{$div}
</div>
<img class="col-md-7 scheme" src="/upload-files/calc/{$calc_rez['cat_id']}/scheme.png" style="margin-bottom: 30px;" />
</div>
仔细一看,数据库中没有相同的值input
。
我还需要为每种类型的展位单独工作的一切。
我能够从数据库中提取最初分配的值 input
我这样做是为了让它们显示在图片中,但我还需要确保当值发生变化时,图片中的值也会发生变化。
这是一个用于更新号码的迷你脚本。但它的工作方式很奇怪,你能帮我写一个脚本吗?或者我可以用不同的方式做到这一点?
// Получаем все элементы с атрибутом name по имени
const displayElements = document.querySelectorAll('[name^="display"]');
const inputElements = document.querySelectorAll('[name^="input-"]');
// Добавляем обработчик событий для каждого введенного поля
inputElements.forEach((inputElement, index) => {
inputElement.addEventListener('keyup', function() {
const inputValue = inputElement.value;
// Находим подходящий элемент вывода по индексу и обновляем его текст
if (index < displayElements.length) {
displayElements[index].textContent = inputValue;
}
});
});
<div>
<div type="number"><p name="display" class="1">2000</p> </div>
<div type="number"><p name="display" class="2">2000</p> </div>
<div type="number"><p name="display" class="3">2000</p> </div>
</div>
<div><br><br>
<input type="text" name="input-height1"><br><br>
<input type="text" name="input-esf2"><br><br>
<input type="text" name="input-height2"><br><br>
</div>
我在这里举了一个例子,但它并不真正适合我,尽管我已经快到了。它不适合我,因为当我简单地在箭头上输入+1值时,它不会显示在屏幕上,但如果我input
手动输入它,它会立即起作用。或者,例如,有一个值 2000,如果我从中删除两个零并写入 92,它应该输出 2092,但它只是输出 92!