জিকুয়েরির সাথে রেডিও বোতাম চেক করা আছে কিনা তা সন্ধান করুন?


584

জরিমানা পরীক্ষা করার জন্য আমি একটি রেডিও বোতাম সেট করতে পারি, তবে আমি যা করতে চাই তা হল একটি নির্দিষ্ট ধরণের 'শ্রোতা' সেটআপ করা যা কোনও নির্দিষ্ট রেডিও বোতাম চেক করা হলে সক্রিয় হয়।

উদাহরণস্বরূপ নীচের কোডটি ধরুন:

$("#element").click(function()
{ 
    $('#radio_button').attr("checked", "checked");
});

এটি একটি পরীক্ষিত বৈশিষ্ট্য যুক্ত করে এবং সমস্ত কিছু ঠিক আছে তবে আমি কীভাবে সতর্কতা যুক্ত করব go উদাহরণস্বরূপ, ক্লিক ফাংশনটির সাহায্য ছাড়াই রেডিও বোতামটি চেক করা হলে পপ আপ হয়?



1
সম্পর্কিত Monitoring when a radio button is unchecked স্ট্যাকওভারফ্লো.com
অ্যাড্রিয়েন

উত্তর:


1082
$('#element').click(function() {
   if($('#radio_button').is(':checked')) { alert("it's checked"); }
});

বিঙ্গো! ধন্যবাদ ডেভিড সুতরাং আমি কি সতর্কতা দেখানোর জন্য কোনও ক্রিয়া (ক্লিক করুন ইত্যাদি) করতে চাই? ক্লিক না করে এটি করার কোনও উপায় আছে?
কিথ ডোনগান

3
এটি "ক্লিক ফাংশনটির সহায়তা ছাড়াই" সমাধান করে না, তাই না?
Znarkus

5
@ জ্নার্কাস: ওপি সন্তুষ্ট বলে মনে হচ্ছে। আপনি কি বিতর্ক করবেন যে আপনার নিজের ব্যবহার ('#radio_button').clickব্যতীত click?
ডেভিড হেডলুন্ড

3
@ ডেভিড দ্বিতীয় লাইনটি হওয়া উচিত if ($('#radio_button').is(':checked'))) { alert("it's checked"); }- আপনি jQuery $ চিহ্নটি ভুলে গেছেন এবং তারপরে এটি আরও কিছু প্রথম বন্ধনে আবদ্ধ করতে হবে ।
zuallauz

2
@ জুয়া: ঠিক বলেছেন! এমনকি এটির সিন্ট্যাক্স ত্রুটিও ছিল, আগে এটি ছিল (তুলনামূলক বন্ধনী)। স্থির
ডেভিড হেডলুন্ড

154

আপনার যদি একই নামের বৈশিষ্ট্যটি ভাগ করে নেওয়ার এবং জমা দেওয়ার বা কোনও ইভেন্টের পরে রেডিও বোতামগুলির একটি গ্রুপ থাকে তবে আপনি এই রেডিও বোতামগুলির মধ্যে একটি চেক করেছেন কিনা তা পরীক্ষা করতে চান, আপনি কেবল নীচের কোড দ্বারা এটি করতে পারেন:

$(document).ready(function(){
  $('#submit_button').click(function() {
    if (!$("input[name='name']:checked").val()) {
       alert('Nothing is checked!');
        return false;
    }
    else {
      alert('One of the radio buttons is checked!');
    }
  });
});

সূত্র

jQuery API রেফ


এটি আমার পক্ষে কার্যকর হয়নি। যদি আমি সতর্ক হই ("(" ইনপুট [@ নাম = 'শিপিং_মোথার']: পরীক্ষিত ") val ভাল ()); এটি এখনও আমাকে মান দেয় এমনকি রেডিও বোতামটি নির্বাচন না করা হলেও।
অ্যান্ড্রুসি

1
দ্রষ্টব্য: আপনার যদি একই নাম ব্যবহার করে রেডিও বোতামগুলির গোষ্ঠীগুলির সাথে একাধিক ফর্ম থাকে তবে আপনার জমা দেওয়া ফর্মগুলির মধ্যে কেবল সেগুলি পরীক্ষা করে দেখতে হবে। : এই কাজ করতে একটি বিকল্প ফর্মে খোঁজ পদ্ধতি ব্যবহার করছে $('#myform').submit(function(event){ if (!$(this).find("input[name='name']:checked").val()) {
বেঞ্জামিন

41

প্যারাগের সমাধানটি যখন আমার জন্য ত্রুটি ছুঁড়েছিল, আমার সমাধান এখানে (ডেভিড হেডলুন্ড এবং প্যারাগের সংমিশ্রণ):

if (!$("input[name='name']").is(':checked')) {
   alert('Nothing is checked!');
}
else {
   alert('One of the radio buttons is checked!');
}

এটি আমার পক্ষে ভাল কাজ করেছে!


32

পরিবর্তন ইভেন্টটি IE তে কাজ না করায় আপনাকে চেকবক্সের ক্লিক ইভেন্টটি আবদ্ধ করতে হবে।

$('#radio_button').click(function(){
    // if ($(this).is(':checked')) alert('is checked'); 
    alert('check-checky-check was changed');
});

এখন আপনি যখন প্রোগ্রামক্রমে রাষ্ট্রটি পরিবর্তন করবেন, আপনাকে এই ইভেন্টটিও ট্রিগার করতে হবে:

$('#radio_button').attr("checked", "checked");
$('#radio_button').click();

18

// ক্লাসের মাধ্যমে পরীক্ষা করুন

if($("input:radio[class='className']").is(":checked")) {
     //write your code         
}

// নামের মাধ্যমে পরীক্ষা করুন

if($("input:radio[name='Name']").is(":checked")) {
         //write your code         
}

// ডেটা মাধ্যমে পরীক্ষা করুন

if($("input:radio[data-name='value']").is(":checked")) {
         //write your code         
}

10

আরেকটি উপায় হ'ল (jQuery> = 1.6) :prop

$("input[type=radio]").click(function () {
    if($(this).prop("checked")) { alert("checked!"); }
});

প্রকৃতপক্ষে .prop()অনেক দ্রুত এবং টাইপ করা সহজ।
২৩7777

10

সমাধানটি সহজ হবে, যখন নির্দিষ্ট রেডিও বোতামটি পরীক্ষা করা হয় তখন আপনার যেমন 'শ্রোতা' দরকার। এটা কর :-

if($('#yourRadioButtonId').is(':checked')){ 
// Do your listener's stuff here. 
}

6

আপনি যদি ক্লিক ফাংশনটি না চান তবে Jquery চেঞ্জ ফাংশনটি ব্যবহার করুন

$('#radio_button :checked').live('change',function(){
alert('Something is checked.');
});

এটি যে উত্তরটি আপনি খুঁজছেন তা হওয়া উচিত। আপনি যদি জেকারি সংস্করণটি ১.৯.১ এর উপরে ব্যবহার করছেন তবে লাইভ ফাংশনটি হ্রাস করা হয়েছে বলে ব্যবহার করার চেষ্টা করুন।


6

... ধন্যবাদ ছেলেরা ... আমার যা যা দরকার তা হ'ল চেক করা রেডিও বোতামটির 'মান' যেখানে সেটের প্রতিটি রেডিও বোতামের আলাদা আইডি ছিল ...

 var user_cat = $("input[name='user_cat']:checked").val();

আমার জন্য কাজ কর...


সর্বাধিক দরকারী উত্তর
amal50


3

গতিশীল উত্পন্ন রেডিও বোতাম চেক রেডিও মান পেতে

$("input:radio[name=radiobuttonname:checked").val();

গতিশীল রেডিও বোতাম পরিবর্তন করুন

$('input[name^="radioname"]').change(function () {if (this.value == 2) { }else{}});

3

$ ('। রেডিও-বাটন-শ্রেণীর নাম')। ('চেক করা') আমার পক্ষে কাজ করে না, তবে পরবর্তী কোডটি ভালভাবে কাজ করেছে:

    if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
     // radio button is checked
    }

1
যেহেতু আপনি এটি কোনও আইডির পরিবর্তে কোনও শ্রেণীর সাথে ব্যবহার করেছেন, এটি কোনও উপাদানের পরিবর্তে কোনও নোডলিস্টকে ফিরে আসত। $('.radio-button-class-name').first().is(':checked')কাজ করা উচিত ছিল।
লেভি



0

jQuery এখনও জনপ্রিয়, তবে আপনি যদি কোনও নির্ভরতা না রাখতে চান তবে নীচে দেখুন। ES-2015 এ রেডিও বোতামটি চেক করা হয়েছে কিনা তা খুঁজে পাওয়ার জন্য সংক্ষিপ্ত এবং পরিষ্কার ফাংশন:

function getValueFromRadioButton( name ){
  return [...document.getElementsByName(name)]
         .reduce( (rez, btn) => (btn.checked ? btn.value : rez), null)
}

console.log( getValueFromRadioButton('payment') );
<div>  
  <input type="radio" name="payment" value="offline">
  <input type="radio" name="payment" value="online">
  <input type="radio" name="payment" value="part" checked>
  <input type="radio" name="payment" value="free">
</div>


-3
$("#radio_1").prop("checked", true);

1.6 এর আগে jQuery এর সংস্করণগুলির জন্য, ব্যবহার করুন:

$("#radio_1").attr('checked', 'checked');

2
এটি অনুসন্ধানের পরিবর্তে সম্পত্তিটির মান নির্ধারণ করে checked
২৩7777
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.