JavaScriptã§ãã§ãã¯ããã¯ã¹ã®ç¶æ ã確èªããæ¹æ³ãŸãšã
JavaScriptãšjQueryã䜿ã£ãŠãã§ãã¯ããã¯ã¹ïŒcheckboxïŒã®ç¶æ
ã確èªããæ¹æ³ã玹ä»ããŸããchecked屿§ãã€ãã³ããªã¹ããŒãprop()ãis()ã®äœ¿ãæ¹ãäŸãšãšãã«èª¬æããŸãã
ãŠã§ãéçºã«ãããŠãŠãŒã¶ãŒãšã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã¯éåžžã«éèŠã§ãããã§ãã¯ããã¯ã¹ã¯ããŠãŒã¶ãŒã®åæãåŸãããè€æ°ã®ãªãã·ã§ã³ããäžã€ãŸãã¯è€æ°ãéžæãããããšãã·ã³ãã«ãªãããå¿ é ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹(UI)èŠçŽ ã§ããããšãã°ãå©çšèŠçŽã«åæããŸããããèªåãã°ã€ã³ããšãã£ãæ©èœã¯ãããããã§ãã¯ããã¯ã¹ãéããŠå®è£ ãããŸãã
ãã®ãããªãã§ãã¯ããã¯ã¹ã®éžæç¶æ³ãããªãã¡âç¶æ âã確èªããããšã¯ããŠãŒã¶ãŒã®å ¥åãåŠçããããã«å¿ããããžãã¯ãå®è¡ããããã«å¿ ãç¥ã£ãŠããã¹ãæè¡ã§ããæ¬èšäºã§ã¯ãJavaScriptãšjQueryã䜿ã£ãŠãã§ãã¯ããã¯ã¹ã®ç¶æ ã確èªããæ§ã ãªæ¹æ³ããããããããäžå¯§ã«ãäŒãããŸãããã®èšäºãæåŸãŸã§èªãã°ãã©ããªç¶æ³ã§ãèªä¿¡ããã£ãŠãã§ãã¯ããã¯ã¹ã®ç¶æ ãæ±ããããã«ãªãã§ãããã
åºæ¬ HTML ãã§ãã¯ããã¯ã¹
ãŸãã¯ãæãåºæ¬çãªHTMLãã§ãã¯ããã¯ã¹ã®ã³ãŒãããèŠãŠãããŸãããããã§ãã¯ããã¯ã¹ãäœãã«ã¯ <input>ã¿ã°ã® type 屿§ã "checkbox" ã«èšå®ããã°OKã§ãã
<label>
<input type="checkbox" id="terms"> å©çšèŠçŽã«åæããŸãã
</label>
ããã§ <label> ã¿ã°ã¯ããã§ãã¯ããã¯ã¹ã®æšªã«ããããã¹ããã¯ãªãã¯ããŠããã§ãã¯ããã¯ã¹ãéžæãããããã«ãããŠãŒã¶ãŒã®å©äŸ¿æ§ãé«ããŠããŸããid 屿§ã¯ãåŸã§JavaScriptãããã®ç¹å®ã®ãã§ãã¯ããã¯ã¹ã«ã¢ã¯ã»ã¹ããããã«äœ¿çšãããåºæã®èå¥åã§ãã
JavaScriptã§ãã§ãã¯ããã¯ã¹ã®ç¶æ ã確èªãã
次ã«JavaScriptã䜿ã£ãŠãã§ãã¯ããã¯ã¹ã®ç¶æ
ã確èªããæ¹æ³ãèŠãŠã¿ãŸããããæãåºæ¬çãªå±æ§ã¯ããŸãã« checked ã§ãã
checked 屿§ã䜿ã
checked 屿§ã¯ãã§ãã¯ããã¯ã¹ã®çŸåšã®ç¶æ
ã衚ãããŒãªã¢ã³ïŒBooleanïŒå€ã§ãããã§ãã¯ããã¯ã¹ãéžæãããŠããã° true ããéžæãããŠããªããã° false ãè¿ããŸãã
以äžã¯ id ã âmy_checkboxâ ã®ãã§ãã¯ããã¯ã¹ã®ç¶æ
ã確èªããç°¡åãªäŸã§ãã
<label>
<input type='checkbox' id='my_checkbox' onclick='is_checked()'>
ãã§ãã¯ããŠãã ãã
</label>
<p id='result'></p>
function is_checked() {
// 1. idã䜿ã£ãŠãã§ãã¯ããã¯ã¹èŠçŽ ãååŸããŸãã
const checkbox = document.getElementById('my_checkbox');
// 2. checked屿§ã§ç¶æ
ã確èªããŸãã
const isChecked = checkbox.checked; // true ãŸã㯠false
// 3. çµæãç»é¢ã«åºåããŸãã
document.getElementById('result').innerText = `ãã§ãã¯ããã¯ã¹ã®ç¶æ
: ${isChecked}`;
}
ãã®ã³ãŒãã§ã¯ãonclick ã€ãã³ãããã§ãã¯ããã¯ã¹ãã¯ãªãã¯ãããã³ã« is_checked() 颿°ãåŒã³åºããŸãã颿°ã¯ãã§ãã¯ããã¯ã¹ã® checked 屿§ã®å€ãååŸãããã®çµæã <p> ã¿ã°ã«è¡šç€ºããŠããŸãããšãŠãã·ã³ãã«ã§ãããã :)
ã€ãã³ããªã¹ããŒ(Event Listener)ã䜿ã
HTMLã« onclick 屿§ãçŽæ¥æžã代ããã«ãJavaScriptã§ addEventListener ãäœ¿ãæ¹ãã¹ãããªããŠããŠæšå¥šãããæ¹æ³ã§ããç¹ã« change ã€ãã³ãã䜿ããšããã§ãã¯ããã¯ã¹ã®ç¶æ
ã倿Žããããã³ã«ç¹å®ã®åäœãå®è¡ã§ããŸãã
// idã 'terms' ã®ãã§ãã¯ããã¯ã¹èŠçŽ ãååŸããŸãã
const checkbox = document.getElementById("terms");
// 'change' ã€ãã³ããçºçãããšãã«å®è¡ããã颿°ãç»é²ããŸãã
checkbox.addEventListener("change", function() {
if (this.checked) {console.log("å©çšèŠçŽã«åæãããŸããïŒ");
} else {console.log("åæãåãæ¶ãããŸããã");
}
});
this.checked ã¯ãã€ãã³ããçºçããèŠçŽ ïŒããã§ã¯ãã§ãã¯ããã¯ã¹ïŒã® checked ç¶æ
ãæããŸãããã®æ¹æ³ã䜿ãã°HTMLãšJavaScriptã®ã³ãŒããåé¢ã§ããã³ãŒãã®ä¿å®æ§ãé«ãŸããŸãã
è€æ°ã®ãã§ãã¯ããã¯ã¹ã®ç¶æ ã確èªãã
æã«ã¯è€æ°ã®ãã§ãã¯ããã¯ã¹ã®ãã¡ã©ããéžæãããŠãããã確èªããå¿
èŠããããŸããäŸãã°ããŠãŒã¶ãŒã«è²ã
ãªèå³é¢å¿ãè€æ°éžãã§ãããå Žåãªã©ã§ãããã®æã¯ document.querySelectorAll() ã䜿ã£ãŠè€æ°ã®èŠçŽ ãäžåºŠã«ååŸã§ããŸãã
<p>èå³ãããã®ãéžãã§ãã ããïŒ</p>
<label><input type="checkbox" class="interest" value="coding"> ã³ãŒãã£ã³ã°</label>
<label><input type="checkbox" class="interest" value="music"> 鳿¥œéè³</label>
<label><input type="checkbox" class="interest" value="exercise"> éå</label>
<button onclick="showSelected()">éžæå®äº</button>
function showSelected() {
// classã 'interest' ã®ãã¹ãŠã®ãã§ãã¯ããã¯ã¹ãååŸããŸãã
const checkboxes = document.querySelectorAll(".interest");
const selectedInterests = [];
// for...of ã«ãŒãã䜿ã£ãŠåãã§ãã¯ããã¯ã¹ãå·¡åããŸãã
for (const checkbox of checkboxes) {if (checkbox.checked) { selectedInterests.push(checkbox.value);}
}
alert(`éžæãããèå³ïŒ ${selectedInterests.join(', ')}`);
}
querySelectorAll(".interest") 㯠interest ã¯ã©ã¹ãæã€ãã¹ãŠã®èŠçŽ ã NodeList 圢åŒã§è¿ããŸãããã®ããš for...of ã«ãŒãã§åãã§ãã¯ããã¯ã¹ã® checked ç¶æ
ããã§ãã¯ããéžæãããŠãããã®ã ã value ã selectedInterests é
åã«è¿œå ããŠããŸãã
jQueryã§ãã§ãã¯ããã¯ã¹ã®ç¶æ ã確èªãã
jQueryã䜿ãã°DOMæäœã®ã³ãŒããããç°¡æœã«æžãããšãã§ããŸãããã§ãã¯ããã¯ã¹ã®ç¶æ 確èªãäŸå€ã§ã¯ãããŸããã
.prop() ã¡ãœããã䜿ã
jQueryã§ã¯ãèŠçŽ ã®å±æ§(property)å€ãååŸãŸãã¯èšå®ããéã« .prop() ã¡ãœããã䜿ããŸããchecked ã®ãããªããŒãªã¢ã³å±æ§ãæ±ããšãã«ç¹ã«æçšã§ãã
// idã 'checkboxId' ã®ãã§ãã¯ããã¯ã¹ããã§ãã¯ãããŠããã確èª
if ($("#checkboxId").prop("checked")) {
console.log("ãã§ãã¯ãããŸããïŒ");
} else {
console.log("ãã§ãã¯ãããŠããŸããã");
}
// ãã§ãã¯ããã¯ã¹ã匷å¶çã«ãã§ãã¯ç¶æ
ã«ãã
$('#ckBox').prop('checked', true);
// ãã§ãã¯ããã¯ã¹ã匷å¶çã«ãã§ãã¯è§£é€ãã
$('#ckBox').prop('checked', false);
.is() ã¡ãœããã䜿ã
.is() ã¡ãœããã¯ãéžæãããèŠçŽ ãç¹å®ã®æ¡ä»¶ã«åèŽãããã©ããã確èªããtrue ãŸã㯠false ãè¿ããŸãã:checked ã»ã¬ã¯ã¿ãŒãšäžç·ã«äœ¿ãã°ããã§ãã¯ããã¯ã¹ã®ç¶æ
ãéåžžã«çŽæçã«ç¢ºèªã§ããŸãã
// idã 'ckBox' ã®ãã§ãã¯ããã¯ã¹ããã§ãã¯ãããŠããã確èª
if ($('#ckBox').is(':checked')) {
console.log("ãã§ãã¯ãããŠããŸãã");
} else {
console.log("ãã§ãã¯ãããŠããŸããã");
}
å人çã«ã¯å¯èªæ§ã®èгç¹ãã .is(':checked') ã奜ãåŸåããããŸããã³ãŒãããŸãã§èªç¶èšèªã®ããã«èªããããã§ãã
è€æ°ã®ãã§ãã¯ããã¯ã¹ã®ç¶æ ã確èªããïŒjQueryïŒ
jQueryã® .each() ã¡ãœããã䜿ãã°ãè€æ°ã®ãã§ãã¯ããã¯ã¹ãç°¡åã«å·¡åã§ããŸãã
$(".checkboxClass").each(function() {
if ($(this).is(":checked")) {console.log($(this).attr('id') + " ã¯éžæãããŸããïŒ");
} else {console.log($(this).attr('id') + " ã¯éžæãããŠããŸããã");
}
});
$(this) 㯠.each() ã«ãŒãå
ã§çŸåšå·¡åäžã®èŠçŽ ãæããŸãã
äž»ãªäœ¿çšã±ãŒã¹
ãã§ãã¯ããã¯ã¹ã®ç¶æ 確èªã¯æ§ã ãªã·ããªãªã§æŽ»çšãããŸãã
- ãã©ãŒã ã®ããªããŒã·ã§ã³ïŒãŠãŒã¶ãŒããå©çšèŠçŽåæããªã©ã®å¿ é é ç®ããã§ãã¯ãããã©ããã確èªãããã§ãã¯ãããŠããªããã°ãã©ãŒã éä¿¡ãé²ããŸãã
- ããŒã¿ã®ãã£ã«ã¿ãªã³ã°ã»ãœãŒãïŒECãµã€ãã§ãéæç¡æããç¹äŸ¡ååããªã©ã®ãã£ã«ã¿ãŒããã§ãã¯ããã¯ã¹ã§æäŸããéžæãããæ¡ä»¶ã«ãããããååã ãã衚瀺ããŸãã
- æ©èœã®æå¹åïŒç¡å¹åïŒãããŒã¯ã¢ãŒãã䜿çšããéç¥ãåãåãããªã©ã®èšå®ããã§ãã¯ããã¯ã¹ã§å¶åŸ¡ããŸãã
- ããã¹ãŠéžæãæ©èœïŒããŒãã«ã®å šé ç®ãäžåºŠã«éžæãŸãã¯è§£é€ããããã¹ãŠéžæããã§ãã¯ããã¯ã¹ãå®è£ ããéã«äœ¿ãããŸãã
ãŸãšã
ãããŸã§ãJavaScriptãšjQueryãçšããŠãã§ãã¯ããã¯ã¹ã®ç¶æ
ã確èªããæ¹æ³ãèŠãŠããŸãããèå¿ãªã®ã¯ checked 屿§ãçè§£ããããã if æ¡ä»¶æçãšçµã¿åãããŠäœ¿ãããšã§ãã
- çŽç²ãª JavaScriptïŒ
element.checked屿§ã䜿ããŸãã - jQueryïŒ
.prop('checked')ãŸãã¯.is(':checked')ã䜿ããŸãã - è€æ°é
ç®ïŒ
querySelectorAll()ã.each()ã䜿ã£ãŠç¹°ãè¿ãåŠçããŸãã - ã€ãã³ãåŠçïŒ
changeã€ãã³ãã䜿ã£ãŠç¶æ 倿Žãæ€ç¥ããŸãã
ãã§ãã¯ããã¯ã¹ã¯å°ãããªããã匷åãªUIèŠçŽ ã§ãã仿¥åŠãã å å®¹ãæŽ»ããããŠãŒã¶ãŒãšã¹ã ãŒãºã«ã€ã³ã¿ã©ã¯ã·ã§ã³ã§ããåçãªãŠã§ãããŒãžãäœã£ãŠã¿ãŠãã ãããçããã®ãããžã§ã¯ãã«ããã«äœ¿ããå®è·µçãªãã³ãã«ãªã£ããªã幞ãã§ãã