Вам может не понадобиться AJAX, если вам не нужно что-то устанавливать в своей базе данных, прежде чем нажать какую-либо кнопку «отправить». Похоже, вы должны иметь возможность хранить всю информацию по вашему выбору, когда вы создаете свою страницу с помощью PHP. Вам нужно будет показать / скрыть ваши выборки в документе, используя JavaScript.
Добавьте ; updateTotal () к выбранному событию onChange:
<select name="ItemNo[]" id="select1" value="ItemNo" onChange="this.disabled=true;updateTotal()">
Затем добавьте эту функцию на свою страницу или в свой файл JavaScript:
<head>
<script language="javascript" type="text/javascript">
function updateTotal() {
var dropdown = document.getElementById('select1');
var total = 0;
for (var i=0; i<dropdown.length; i++){
if (dropdown.options[i].selected) {
total += dropdown.options[i].value;
}
}
document.getElementById('tpayment').innerHTML = total;
}
</script>
</head>
Поскольку вы собираетесь добавлять / удалять строки, вам нужно будет отслеживать их, как вы упомянули с помощью массива - возможно, глобального.
в начале вашего javascript, объявите глобальный массив для хранения ваших данных, как это:
var selects = new Array();
Вы также хотите обновить ваши добавления / удаления звонков:
<INPUT type="button" value="Add Row" onclick="addRow('dataTable','select1')" />
<INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable','select1')" />
Затем, когда вы вызываете функцию addRow, сделайте следующее:
function addRow(rowname,selectname) {
/* ... original function stuff ... */
selects.push(selectname); /* this will add the selectname to the selects array */
}
И также, когда вы вызываете функцию removeRow, сделайте это:
function removeRow(rowname,selectname) {
/* ... original function stuff ... */
selects.splice(selects.indexOf(selectname),1);
updateTotal(); /* since selected items might have been removed */
}
И, наконец, мы изменим нашу исходную функцию следующим образом:
function updateTotal() {
var total = 0;
for (var h=0; h<selects.length; h++) {
var dropdown = document.getElementById(selects[h]);
for (var i=0; i<dropdown.length; i++){
if (dropdown.options[i].selected) {
total += dropdown.options[i].value;
}
}
document.getElementById('tpayment').innerHTML = total;
}
}