Создать кнопку внутри таблицы и изменить во время события onclick - PullRequest
3 голосов
/ 13 декабря 2011

У меня проблема с созданием кнопки на лету в пределах ее функции. Я прекрасно создал таблицу в php , но я не знаю, как создать кнопку внутри php кода, используя функцию для каждой кнопки.

Example 
ID              NAME            PRICE               ADD
1               STRAW            100                BUTTON 1
2               STRAWRE          300                BUTTON 2
3               STRAWTO          200                BUTTON 3

Кнопка добавления динамически использует цикл внутри таблицы html . и когда я обрабатываю щелчок по кнопке, идентификатор, имя и цена изменяются вместе с текстовым полем, и каждое текстовое поле имеет автоматическое значение с использованием старого, и кнопка 1 будет добавлена ​​одной кнопкой левой кнопкой 1, или кнопка 2 или кнопка 3.

function cetakdata()
{
    if(is_array($_SESSION['pembelian']))
    {
    $total = "";
    echo "Here's your chart" . "<br>";
    $max = count($_SESSION['pembelian']);  
    $th1 = "<th>" . "No" . "</th>";
    $th2 = "<th>" . "Nama Barang" . "</th>";
    $th3 = "<th>" . "Harga Barang" . "</th>";
    $th4 = "<th>" . "Jumlah" . "</th>";
    $th5 = "<th>" . "Subtotal" . "</th>";
    $th6 = "<th>" . "Add Edit" . "</th>";
    echo "<table border=1>";
    echo "<tr>";
    echo $th1 ;
    echo $th2;
    echo $th3;
    echo $th4;
    echo $th5;
    echo $th6;

    echo "</tr>";
    for ($indexo = 0; $indexo < $max; $indexo++) {
   echo "<tr>";
   echo "<td>" . $indexo."</td>";
   echo "<td>" . $_SESSION['pembelian'][$indexo]['namabarang']."</td>";
   echo "<td>" . $_SESSION['pembelian'][$indexo]['hargabarang']."</td>";
   echo "<td>" . $_SESSION['pembelian'][$indexo]['jumlahbarang']."</td>";
   echo "<td>" . $_SESSION['pembelian'][$indexo]['subtotal']."</td>";
   echo "<td>" .THIS IS HOW I PUT THE BUTTON ON THE FLY DELETE BUTTON."</td>";
    $total += $_SESSION['pembelian'][$indexo]['subtotal'];
   echo "</tr>";
    }
    echo "TOTAL BELANJA = ". $total;
    echo "</table>";
    }else
    {
        echo "Chart is still Empty";
    }
}

Это код. Когда кнопка будет создана, другой тд изменится в текстовое поле со своим значением, и после того, как пользователь закончит редактирование, пользователь также сможет сохранить его в кнопке сохранения рядом с кнопкой добавления, но кнопка сохранения появится, когда пользователь нажмет на кнопку редактирования, как на изображении. выше:

enter image description here

Ответы [ 2 ]

2 голосов
/ 13 декабря 2011

просто добавьте как обычную кнопку в последнюю td

<button id="1" name="button">BUTTON 1</button>

и для действия сделайте с некоторой функцией jquery

$(function(){
    $('button[name=button]').click(function(){
        var id= $(this).attr("id");
        //some action here
        //ex:
        window.location.href="ex.php?id="+id;
        //or an ajax fungtion
    });
});

ох ... может быть, вы можете сделатьс этим

<script>
$(function(){
    $('button[name=button]').click(function(){
        var id= $(this).attr("id");
        //some action here
        //ex:
        window.location.href="ex.php?id="+id;
        //or an ajax fungtion
    });
});
</script>
<?php
$query = mysql_query("select * from barang");
echo '<table><tr><th>Nama Barang</th><th>Harga Barang</th><th>Stok</th><th>Action</th></tr>';
while($data = mysql_fetch_array($query)){
    echo "<tr>
        <td>".$data['nama_barang']."</td>
        <td>".$data['harga_barang']."</td>
        <td>".$data['stok_barang']."</td>
        <td><button id=".$data['kode_barang']." name=\"button\">Edit</button></td>
    </tr>";
}
echo '<table>';
?>

EDITED

изменяет это <td><button id=".$data['kode_barang']." name=\"button\">Edit</button></td>

на

<td><button id=".$data['kode_barang']." name=\"button\" style=\"display:none\">Edit</button><button id=".$data['kode_barang']." name="..$data['kode_barang'].">Edit2</button></td>

и в javascript просто добавьте изменение, как это

$(function(){
    $('button[name=button]').click(function(){
        var id= $(this).attr("id");
        $("button[name="+id+"]").show();
        //some action here
        //ex:
        window.location.href="ex.php?id="+id;
        //or an ajax fungtion
    });
});
0 голосов
/ 13 декабря 2011

Вот пример создания кнопки на лету с помощью JavaScript.

var buttonnode = document.createElement('input');
buttonnode.setAttribute('type','button');
buttonnode.setAttribute('id','ActionButton');
buttonnode.setAttribute('value','DoAction');
buttonnode.onclick = function(){javascriptFunct();};

Я немного озадачен тем, что задаешь вопрос, но, возможно, это немного поможет. Вы можете настроить функцию javascript для перенаправления в php-файл на вашем сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...