1

jQueryに問題があります。

ラジオが「最初」を選択した場合は「はい」、「2番目」を選択した場合は「いいえ」を最後の「td」テキストにテーブルに追加したいと思います。

今は最初にラジオを選択しています。ボタンをクリックすると、最初にラジオの正しいテキスト「はい」が表示されたフォームが表に表示されますが、2番目にラジオを変更すると、ラジオの2番目の新しいテキスト「いいえ」が再び表示されますが、ラジオのテキストが最初に表示されます「はい」をテキスト「いいえ」に変更します。

修正方法は?

そして、これが私の HTML と JS のコードです。

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="index.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>

</head>
<body>
  <form method="" action="">
    <input type="text" id="ime" placeholder="Vnesi ime izdelka" /><br />
    <input type="text" id="cena" placeholder="Vnesi ceno" /><br/>
    <input type="radio" name="zaloga" value="true">first<br />
    <input type="radio" name="zaloga" value="false">second<br />
    <input type="submit" value="send">
  </form>

  <div id="napake"></div>

  <br />
  <table border="1">
    <tr>
      <th>Ime izdelka</th>
      <th>Cena izdelka</th>
      <th>Zaloga</th>
    </tr>    
  </table>
  <div id="sumaZaloga">Znesek artiklov na zalogi</div>
  <div id="sumaNiZaloge">Znesek artiklov, ki niso na zalogi</div>
  <input type="button" id="ponastavi" value="Ponastavi vse" /><br />
</body>
</html>

JS (jQuery)

$(document).ready(function () {

$("form").submit(function() {
  if ($("#ime").val() != "" && $("#cena").val() != "" && $('input[name=zaloga]:checked').val() == "false") {  
    var ime = $("#ime").val();
    var cena = $("#cena").val();
    var izpisni = "No";
    $("table").append("<tr>");
    $("tr:last-child").append("<td>");
    $("table td:last-child")
    .text(ime);
    $("tr:last-child").append("<td>");
    $("table td:last-child")
    .text(cena);
    $("tr:last-child").append("<td>");
    $("table td:last-child")
    .text(izpisni);

    return false;
  }
    var ime = $("#ime").val();
    var cena = $("#cena").val();
    var izpisje = "Yes";
    $("table").append("<tr>");
    $("tr:last-child").append("<td>");
    $("table td:last-child")
    .text(ime);
    $("tr:last-child").append("<td>");
    $("table td:last-child")
    .text(cena);
    $("tr:last-child").append("<td>");
    $("table td:last-child")
    .text(izpisje);

    return false;
  });    
});
4

1 に答える 1