반응형
변경 이벤트에서 라디오를 사용하는 방법은 무엇입니까?
변경 이벤트에 두 개의 라디오 버튼이 있습니다. 변경 버튼을 원합니다 어떻게 가능합니까? 내 코드
<input type="radio" name="bedStatus" id="allot" checked="checked" value="allot">Allot
<input type="radio" name="bedStatus" id="transfer" value="transfer">Transfer
스크립트
<script>
$(document).ready(function () {
$('input:radio[name=bedStatus]:checked').change(function () {
if ($("input[name='bedStatus']:checked").val() == 'allot') {
alert("Allot Thai Gayo Bhai");
}
if ($("input[name='bedStatus']:checked").val() == 'transfer') {
alert("Transfer Thai Gayo");
}
});
});
</script>
this
현재 input
요소 를 나타내는를 사용할 수 있습니다 .
$('input[type=radio][name=bedStatus]').change(function() {
if (this.value == 'allot') {
alert("Allot Thai Gayo Bhai");
}
else if (this.value == 'transfer') {
alert("Transfer Thai Gayo");
}
});
allot
if 문과 :radio
selector 모두에서 더 이상 값을 비교 하지 않습니다.
jQuery를 사용하지 않는 경우 document.querySelectorAll
and HTMLElement.addEventListener
메소드를 사용할 수 있습니다 .
var radios = document.querySelectorAll('input[type=radio][name="bedStatus"]');
function changeHandler(event) {
if ( this.value === 'allot' ) {
console.log('value', 'allot');
} else if ( this.value === 'transfer' ) {
console.log('value', 'transfer');
}
}
Array.prototype.forEach.call(radios, function(radio) {
radio.addEventListener('change', changeHandler);
});
위의 답변의 적응 ...
$('input[type=radio][name=bedStatus]').on('change', function() {
switch ($(this).val()) {
case 'allot':
alert("Allot Thai Gayo Bhai");
break;
case 'transfer':
alert("Transfer Thai Gayo");
break;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="radio" name="bedStatus" id="allot" checked="checked" value="allot">Allot
<input type="radio" name="bedStatus" id="transfer" value="transfer">Transfer
더 간단하고 깨끗한 방법은 @Ohgodwhy의 답변이있는 클래스를 사용하는 것입니다.
<input ... class="rButton">
<input ... class="rButton">
스크립트
$( ".rButton" ).change(function() {
switch($(this).val()) {
case 'allot' :
alert("Allot Thai Gayo Bhai");
break;
case 'transfer' :
alert("Transfer Thai Gayo");
break;
}
});
$(document).ready(function () {
$('#allot').click(function () {
if ($(this).is(':checked')) {
alert("Allot Thai Gayo Bhai");
}
});
$('#transfer').click(function () {
if ($(this).is(':checked')) {
alert("Transfer Thai Gayo");
}
});
});
온 차지 기능 사용
<input type="radio" name="bedStatus" id="allot" checked="checked" value="allot" onchange="my_function('allot')">Allot
<input type="radio" name="bedStatus" id="transfer" value="transfer" onchange="my_function('transfer')">Transfer
<script>
function my_function(val){
alert(val);
}
</script>
간단한 ES6 (자바 스크립트 만 해당) 솔루션.
Array.prototype.forEach.call(document.forms.demo.bedStatus, radio => {
radio.addEventListener('change', () => {
alert(`${document.forms.demo.bedStatus.value} Thai Gayo`);
})
});
<form name="demo">
<input type="radio" name="bedStatus" value="Allot" checked>Allot
<input type="radio" name="bedStatus" value="Transfer">Transfer
</form>
document.addEventListener('DOMContentLoaded', () => {
const els = document.querySelectorAll('[name="bedStatus"]');
const capitalize = (str) =>
`${str.charAt(0).toUpperCase()}${str.slice(1)}`;
const handler = (e) => alert(
`${capitalize(e.target.value)} Thai Gayo${e.target.value === 'allot' ? ' Bhai' : ''}`
);
els.forEach((el) => {
el.addEventListener('change', handler);
});
});
<input type="radio" name="radio" value="upi">upi
<input type="radio" name="radio" value="bankAcc">Bank
<script type="text/javascript">
$(document).ready(function() {
$('input[type=radio][name=radio]').change(function() {
if (this.value == 'upi') {
//write your logic here
}
else if (this.value == 'bankAcc') {
//write your logic here
}
});
</script>
라디오 버튼이 동적으로 추가되면 이것을 사용할 수 있습니다
$(document).on('change', 'input[type=radio][name=bedStatus]', function (event) {
switch($(this).val()) {
case 'allot' :
alert("Allot Thai Gayo Bhai");
break;
case 'transfer' :
alert("Transfer Thai Gayo");
break;
}
});
참고 URL : https://stackoverflow.com/questions/13152927/how-to-use-radio-on-change-event
반응형
'Programing' 카테고리의 다른 글
Go에서 int 값을 문자열로 변환하는 방법은 무엇입니까? (0) | 2020.02.18 |
---|---|
정수를 16 진수로 변환 한 후 다시 변환 (0) | 2020.02.18 |
바이너리 파일과의 Git 충돌 해결 (0) | 2020.02.18 |
우분투에 lxml을 설치하는 방법 (0) | 2020.02.18 |
node.js에서 파일을 복사하는 가장 빠른 방법 (0) | 2020.02.18 |