見積もりフォームを改善するのに役立つアドバイスとおそらくコード例、リンクを探しています。現在のシナリオはそのようなものです:-
価格と数量の空の入力ボックスとともに、項目 (mysql データベースから) の動的 (選択コンボ) 行が生成されます。ユーザーは no に基づいて行を追加または削除します。アイテムが必要な場合は、価格、数量などを入力し、計算されたすべての値などを含む2番目のフォームに移動して、同じものを印刷したり、電子メールで送信したりできます.
現在、アイテム数は約 3500 であるため、ユーザーが 5 番目または 6 番目の行に到達すると、新しい行を追加するのが非常に遅くなり始めます。データベースからmysqlアイテムをプルする必要があります.mysqlアイテムは時々増加し続けるからです.
どんな助けでも大歓迎です。前もって感謝します。
以下は、私が現在使用している動的行の JavaScript コードです:-
<SCRIPT language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
case "select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
}
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
if(rowCount <= 1) {
alert("Cannot delete all the rows.");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
</SCRIPT>
以下は、選択コンボボックスにmysqlアイテムをプルするために使用しているphpコードです
<?php
$con = mysql_connect('connection details');
if (!$con) {
die('Could not connect: ' . mysql_error());}
$db=mysql_select_db('database',$con);
$extract1=mysql_query("query")
OR die(mysql_error());
$numrows1=mysql_num_rows($extract1);
echo "<select name='item[]' title='selectItemName'>";
echo "
<option>Select Item Description</option>
";
while ($row1=mysql_fetch_assoc($extract1))
{
$ic[]=$row1['ItemName'];
}
foreach ($ic as $i){
echo "<option>".$i."</option>";
}
echo "</select>";
mysql_close($con);
?>
私はまた、かなりきれいなjqueryから次の例を試しました。しかし、私は新しく、選択ボックスと一緒に残りのボックスにデータを入力する方法がわかりません。ここにコードがあります
<script type="text/javascript">
$(document).ready(function() {
$("select[multiple]").asmSelect({
addItemTarget: 'bottom',
animate: true,
highlight: true,
sortable: true
});
});
</script>