如何获取复选框的值并使用jquery将其分配给文本框的值?

I am trying to make a restaurant order table(form) with the columns (checkbox, article, quantity, price). I would like to get the value of the checkbox and assign it to the value of the textbox, knowing that the table is populated from the Mysql database using a PHP code. I want to make the price of each item visible in the corresponding textbox, everytime I click on its corresponding checkbox.

// my attempt at a jqyery function

$(document).ready(function(){
  $('input:checkbox').click(function(){
    $('input:checkbox:checked').each(function(){
     var price = parseInt(($(this).val()));
    });
    $('#<?php echo $row['idchoix'] ?>').val(price);
  });
});

// the php code for the table

<?php

// Check connection

$result = mysqli_query($con,"SELECT * from menu order by type");

echo "<form action='order.php' method='POST' >";
echo "<legend id='legend'>Nouvelle commande</legend>";
echo "<table class='table table-bordered table-striped table-hover' >
<tr>
<th>Categorie</th>
<th></th>
<th>Article</th>
<th>Prix unitaire</th>
<th>Quantité</th>
<th>Somme</th>
</tr>";



while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['type'] . "</td>";

echo "<td> <input type='checkbox' class='form-check-input' id='check1' value='".$row['prixunitaire']."'> </td>";
echo "<td>" . $row['choix'] . "</td>";

echo "<td>" . $row['prixunitaire'], "Dh" . "</td>";

echo "<td> <div class='btn-toolbar' role='toolbar' aria-label='Toolbar with button groups'>
  <div class='btn-group mr-2' role='group' aria-label='First group' required='required'>
    <button type='button' class='btn btn-secondary' >x1</button>
    <button type='button' class='btn btn-secondary'>x2</button>
    <button type='button' class='btn btn-secondary'>x3</button>
    <input type='number' class='btn btn-secondary form-control' style='width:70px;' name='quantity' value='4' ></div></div></td>";


echo "<td> . <input type='number' class='btn btn-secondary form-control' style='width:200px;' id='".$row['idchoix']."' name='quantity' value=00.00 readonly> </td>";


echo "</tr>";
}

echo "</table>";

echo "<input class='btn btn-success form-control' type='submit' value='Envoyer la commande'>";

echo "</form>";
?>
dousi8931
dousi8931 将数据元素分配给复选框,这将帮助您确定应更新哪个文本框。然后在JS中读取该数据属性并使用它来选择正确的文本框。
一年多之前 回复
dousong3760
dousong3760 哦,我现在看到了问题,但我真的不知道如何解决它。
一年多之前 回复
douwen5985
douwen5985 您正在谈论多个文本框,但您的JavaScript只处理一个。复选框和文本框之间有什么联系?你怎么知道哪一个对应你勾选的复选框。
一年多之前 回复
douji2283
douji2283 我希望复选框保持其初始值,并希望文本框接收相应的复选框的值。
一年多之前 回复
douxu2081
douxu2081 jQuery中可能重复获取复选框值
一年多之前 回复
doufuhuang6981
doufuhuang6981 好吧,只是看看你的JavaScript,你有一个范围问题。price的范围限定为每个回调,并且不会存在于其外部。如果要在外面使用它,则需要提高范围。
一年多之前 回复
dooso0594
dooso0594 您希望复选框具有什么价值?
一年多之前 回复

1个回答



您可以尝试这样我认为这是价格变量的范围问题</ p>

  $(document).ready(function(){
$('input:checkbox')。click(function(){
var price;
$('input:checkbox:checked')。each(function (){
price = parseInt(($(this).val()));
});
$('#&lt;?php echo $ row ['idchoix']?&gt;')。 val(price);
});
});
</ code> </ pre>
</ div>

展开原文

原文

You can try like this I think it is a scope issue for price variable

$(document).ready(function(){
  $('input:checkbox').click(function(){
    var price;
    $('input:checkbox:checked').each(function(){
     price = parseInt(($(this).val()));
    });
    $('#<?php echo $row['idchoix'] ?>').val(price);
  });
});

douxitao8170
douxitao8170 我尝试过但不幸的是它没有用。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐