Javascript 从另一个输入值自动填充输入
我有一个问题:Javascript 从另一个输入值自动填充输入,javascript,php,jquery,arrays,input,Javascript,Php,Jquery,Arrays,Input,我有一个问题: <table> <?php $data['kriteria'] = array('IPK', 'SEMESTER', 'PENGHASILAN', 'BEASISWA LAIN'); $kriteria = array(); foreach ($data['kriteria'] as $key => $val) { $kriteria[$key] = $val['nama'];
<table>
<?php
$data['kriteria'] = array('IPK', 'SEMESTER', 'PENGHASILAN', 'BEASISWA LAIN');
$kriteria = array();
foreach ($data['kriteria'] as $key => $val) {
$kriteria[$key] = $val['nama'];
}
?>
<thead>
<tr>
<th>Kriteria</th>
<?php
foreach ($kriteria as $val) {
echo '<th>' . $val . '</th>';
}
?>
</tr>
</thead>
<tbody>
<?php $n = count($kriteria); ?>
<?php for ($i = 0; $i < $n; $i++): ?>
<tr>
<th><?= $kriteria[$i] ?></th>
<?php for ($j = 0; $j < $n; $j++): ?>
<td><input type="text" class="form-control" id="<?= $kriteria[$j] . $kriteria[$i] ?>" name="<?= $j. $i ?>" value=""></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</tbody>
</table>
克里特里亚
谢谢大家的回答,我现在可以解决我的问题了
这就是代码
克里特里亚
克里特里亚
如果您想进行数学运算,并且只想在第一次输入中输入数字,那么JQuery是正确的,但是如果您尝试对文本执行相同的操作,那么它将返回NaN,因为它假设您想返回“1除以值”,所以您可以这样做,然后右击第二个函数进行数学运算:
$(document).ready(function () {
$("#SI").keyup(function () {
var value = $("#SI").val();
$("#IS").val(value)
});
});
检查一个正在工作的JSFIDLE。也许您正在创建动态控件,以便索引未匹配,试图添加索引或将autocomplete=设置为off
什么是$(“#SI”)
和$(“IS”)
?ID必须是唯一的,至少它们在for循环中,但它们不在代码中由于$val
将是字符串,而不是数组,因此code>应发出有关未定义索引“nama”的警告。您将$data['kriteria']
定义为一个平面索引数组,而不是该代码上方3行的多维关联数组。“应更新问题,以包括所需的行为、特定问题或错误,以及重现问题所需的最短代码。”-当您询问javascript questionId是动态生成的,不会匹配时,可能会删除php象形文字,因此在jquery中按类名使用请进一步解释-是什么让您认为这应该是一个错误?@NicoHaase,如果您想做数学,只想在第一次输入中输入数字,这实际上不是一个错误,但是如果您尝试对文本执行相同的操作,那么它将返回NaN,因为它假设您希望返回“1除以值”。我可能应该在答案中指定它=)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<?php
$kriteria = array('IP', 'SE', 'PE', 'BE');
?>
<thead>
<tr>
<th>Kriteria</th>
<?php
foreach ($kriteria as $val) {
echo '<th>' . $val . '</th>';
}
?>
</tr>
</thead>
<tbody>
<?php $n = count($kriteria); ?>
<?php for ($i = 0; $i < $n; $i++): ?>
<tr>
<th><?= $kriteria[$i] ?></th>
<?php for ($j = 0; $j < $n; $j++): ?>
<td><input type="text" class="form-control" index-j="<?= $j ?>"
index-i="<?= $i ?>"
id="<?= $kriteria[$j] . $kriteria[$i] ?>"
name="<?= $j . $i ?>" value=""></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</tbody>
<script type="text/javascript">
$(document).ready(function () {
var size = <?=$n ?>;
for (let i = 0; i < size; i++) {
for (let j = 0; j <= i; j++) {
if (i == j) {
$(`[index-i=${i}][index-j=${j}]`).val(1);
} else {
$(`[index-i=${j}][index-j=${i}]`).keyup(function () {
var value = $(this).val();
$(`[index-i=${i}][index-j=${j}]`).val(1 / value);
});
}
}
}
});
$(document).ready(function () {
$("#SI").keyup(function () {
var value = $("#SI").val();
$("#IS").val(value)
});
});