私のフォームにはいくつかのチェックボックスがあり、チェックボックスがチェックされたときにそれらの値を変更する必要があります。
たとえば、これはチェックボックスの1つです。
<input type="checkbox" name="drink" value=""/>
知っている .val()
それを変えることができるが私はこれをすることができなかった if
ステートメント。
私はあなたの答えを前もって感謝します。
回答:
回答№1は1// attach an onchange handler to all checkboxes on the page
$("input[type="checkbox"]").change(function() {
// or if($(this).prop("checked")) {
if(this.checked) {
$(this).val("value for checked");
} else {
$(this).val("value for unchecked");
}
});
- ザ
onchange
イベントはチェックされた状態を変更するたびに発生するので、チェックボックスに関しては興味があるべきイベントです。 - ザ
checked
プロパティは、チェックボックスがチェックされているかどうかを決定します。 - ザ
.val()
methodを使用すると、要素値を簡単に読み書きできます。
回答№2については4
あなたが探しているものは実際には非常に無意味です。フォームが送信されると、 チェックした チェックボックスは実際に値を送信するため、特にチェックされていないチェックボックスに対して値を変更しても意味がありません。
代わりに「チェック済み」の値を指定してそのままにしておくと、値を変更しなくても正しく送信されます。
回答№3の場合は3
チェックボックスにクリックイベントリスナーを追加することができます。
$("input[name="drink"]").click(function() { // when click on it
if ($(this).attr("checked")) { // if the checkbox is checked
$(this).val("value #1"); // change the value
} else { // otherwise if is unchecked
$(this).val("value #2"); // change the value
}
});