私のコードには2つのセクションがあります:新しいアイテムを入力するセクションと、それらを操作するセクションです。私は新しい項目がjQueryで追加されるたびにドロップダウンリストを更新しようとしていますが、私の現在のメソッドは何もしません。何もしない限り、ドロップダウンリストが空のままであることを意味します。私はこの質問に以前の答えを試みましたが、うまくいきませんでした。 (私はかなりJavascriptに新しいので、私はただのnoobされている完全に可能です)。appendで選択するオプションを追加しようとしても何も起こりません
<!DOCTYPE html>
<head>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<link rel = "stylesheet" type = "text/css" href = "deletion.css"></link>
<script src = 'chemical.js'></script>
</head>
<body>
<form id = "newChemicalForm">
<p id = newChemicalText> Submit new chemicals here: </p>
<input type = "text" id = "newChemicalInput" onfocus = "this.select()" placeholder = "Enter new chemical here"/>
<button id = "newChemicalButton" onclick = "addChemical()" > Submit </button>
</form>
<form id = "newUsageForm">
<p id= "newUsageText"> Name your chemical and a usage amount. Check if the usage is daily. </p>
<select id = "chemicalDropdown">
</select>
<input type = "text" id = "newUsage" placeholder = "Ex: 250"/>
<input type = "checkbox" id = 'dailyCheckbox'/>
<p id = "dateText"> Enter the end date below: </p>
<input type = "date" id = "dateInput"/>
<button id = "newUsageButton" onclick = "addUsage()"> Submit </button>
</form>
</body>
とJavaScript:
chemicals = [];
function addChemical() {
var chemical = new Chemical();
chemicals.push(chemical);
$('#chemicalDropdown').append('<option value = "' + chemical.name + '"> ' + chemical.name + '</option> \n');
}
function Chemical() {
this.name = $('#newChemicalInput').val();
this.amount = 0;
this.usages = [];
}
あなたのアペンド文の末尾に改行文字-' \ n'-を削除した場合、何が起こるのだろうか? – reporter
コンソールエラー?私はあなたのjsのバインディングではなく、あなたのインラインバインディングを使用するように頼むだけです。ああ、あなたのaddChemical()onclickバインディングはフォームにある 'ボタン'にあります。フォームを送信したためにページが再読み込みされていないことを確認していますか?フォームの 'ボタン'要素はサブミットとして機能します。 – Taplar
こちらのスニペットは1.11で動作します。 「うまくいきません」(この場合は「何もしません」)ということは決して良い問題の説明ではありません。もちろん、それは動作しません。もしあなたがこの質問をしていないなら、あなたはこの質問をしません。代わりにあなたが目撃した行動、そしておそらくあなたが得るエラーを記述してください。私たちとあなたのデバッグ情報を共有してください。 – Sumurai8