我有这样的形式:
<div class="satu">
<input type='text' size='1' maxlength='1' name='score[1][]' id='score[1][]'>
</div>
<div class="dua">
<input type='text' size='1' maxlength='3' name='weight[1][]' id='weight[1][]'> %
</div>
<div class="tiga">
<input type='text' size='5' name='weightscore[1][]' id='weightscore[1][]' disabled>
</div>
<div class="satu">
<input type='text' size='1' maxlength='1' name='score[2][]' id='score[2][]'>
</div>
<div class="dua">
<input type='text' size='1' maxlength='3' name='weight[2][]' id='weight[2][]'> %
</div>
<div class="tiga">
<input type='text' size='5' name='weightscore[2][]' id='weightscore[2][]' disabled>
</div>
这是jquery脚本:
$('[id^="score"]').keyup(function()
{
var score=$('[id^="score"]').val();
var weight=$('[id^="weight"]').val();
$.ajax({
url: "cekweightscore.php",
data: "score="+score+"&weight="+weight,
success:
function(data)
{
$('[id^="weightscore"]').val(data);
}//success
});//ajax
});
这是php代码:
<?php
include "connection.php";
$score = $_GET['score'];
$weight = $_GET['weight'];
$totalweightscore=(($weight * $score )/ 100);
echo"$totalweightscore";
?>
当我对得分[1] []进行加密时,权重[1] []的值不会出现。请帮助我,如何从不同类的多个输入字段中获取值?
答案 0 :(得分:1)
您的代码适用于第一组输入元素的 。对于第二组元素,它将不,因为使用.val
,您将获得“匹配元素集合中第一个元素的当前值”。因此,当您在score[2]
上进行加密时,JS代码实际上会发送score[1]
和weight[1]
的值,这些值可能为空。
要解决这个问题,最简单的方法是在每组项目周围包含一个元素,以便在触发keyup时轻松定位“关联”权重元素,如下所示:
<div class="group">
<div class="satu"><input type='text' name='score[1][]' id='score[1][]'></div>
<div class="dua"><input type='text' name='weight[1][]' id='weight[1][]'> %</div>
<div class="tiga"><input type='text' name='weightscore[1][]' id='weightscore[1][]' disabled></div>
</div>
<div class="group">
<div class="satu"><input type='text' name='score[2][]' id='score[2][]'></div>
<div class="dua"><input type='text' name='weight[2][]' id='weight[2][]'> %</div>
<div class="tiga"><input type='text' name='weightscore[2][]' id='weightscore[2][]' disabled></div>
</div>
代码看起来像
<script type="text/javascript">
$('.satu input').keyup(function () {
var $satuInput = $(this);
var score = $satuInput.val();
var weight = $satuInput.closest(".group").find('.dua input').val();
$.ajax({
url: "cekweightscore.php",
data: "score=" + score + "&weight=" + weight,
success: function (data) {
$satuInput.closest(".group").find('.tiga input').val(data);
} //success
}); //ajax
});
</script>
我还改变了jQuery选择器来处理HTML中的类而不是元素id;虽然代码应该以任何一种方式工作,但这种风格对我来说感觉更好。
答案 1 :(得分:0)
你可以用这个
获得价值score.each (function () {
console.log(this.value);
});