次のコードは、テキストボックスを追加し続けます。私は最初の選択肢が終わったときにそれを追加するだけです。あなたが1つを押すと、2つを押すと、さらに2つが追加されます。Jsスクリプトはonchangeを実行し続けます
$(function(){
$('select').on('change', function() {
i = 1
var y = parseInt(this.value) + 1
\t while (i != y)
\t {
\t \t $("#boxes").append('<input type="text" name="ticket_'+ i + '_name" placeholder="Ticket ' + i +' Type">');
\t \t $("#boxes").append('<input type="text" name="ticket_'+ i + '_price" placeholder="Ticket ' + i +' Price">');
\t \t $("#boxes").append('<input type="text" name="ticket_'+ i + '_quantity" placeholder="Ticket ' + i +' Quantity">');
\t \t $("#boxes").append('<p></p>');
\t \t i = i + 1
\t \t if (i == y){
\t \t \t return false
\t \t }
\t }
})
});
<html>
<head>
<meta charset="utf-8" />
<script data-require="jquery" data-semver="3.1.1" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="add.js"></script>
</head>
<body>
<select id="droplist">
\t <option>Select</option>
\t \t <option value="1">One</option>
\t \t <option value="2">Two</option>
\t \t <option value="3">Three</option>
</select>
<form id="boxes">
\t \t <input type='hidden' name='eventname' value='$eventname '>
</form>
</body>
</html>
こんにちは:)ほぼ動作します! 2つのチケットタイプで2が選択された場合は2つのボックス、さらに3が選択された場合は3つのボックスが必要です。これはすべてを排除し、ただ一つ与えるだけです。 –
ああ、これはループの中にあるので。私の悪い、中になるのではなく、whileループの前に空の行を移動してください。答えを更新して反映させていきます。 – ben