JQuery এর মাধ্যমে কোন রেডিও বোতামটি নির্বাচিত তা আমি কীভাবে জানতে পারি?


2700

আমার দুটি রেডিও বোতাম আছে এবং নির্বাচিতটির মানটি পোস্ট করতে চাই। আমি কীভাবে jQuery এর সাথে মান পেতে পারি?

আমি তাদের সকলকে এটির মতো পেতে পারি:

$("form :radio")

কোনটি নির্বাচিত তা আমি কীভাবে জানব?

উত্তর:


3933

আইডি সহ কোনও ফর্মের নির্বাচিত radioName আইটেমটির মান পেতে myForm:

$('input[name=radioName]:checked', '#myForm').val()

এখানে একটি উদাহরণ:

$('#myForm input').on('change', function() {
   alert($('input[name=radioName]:checked', '#myForm').val()); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
  <input type="radio" name="radioName" value="1" /> 1 <br />
  <input type="radio" name="radioName" value="2" /> 2 <br />
  <input type="radio" name="radioName" value="3" /> 3 <br />
</form>


306
: ( 'চেক ইন করেছে [টাইপ = রেডিও] টি ফর্ম ইনপুট') $: আমি এই ব্যবহার শেষ পর্যন্ত
জুয়ান

46
@ পিটারজে: আপনি সরল পরিবর্তে দুটি যুক্তি কেন ব্যবহার করবেন '#myform input[name=radioName]:checked'?
সোফি আল্পার্ট

145
jQuery সঠিকভাবে স্কোপ করা হলে সেরা সঞ্চালন করে, এবং আইডি দ্বারা নির্বাচন করা সর্বদা সর্বোচ্চ পারফরম্যান্স নির্বাচক। দ্বি-যুক্তি পদ্ধতিটি এটি করার সহজ উপায়।
পিটার জে

40
সেরা পারফরম্যান্সের জন্য ডকুমেন্টেশনটি: রেডিও নির্বাচনকারীকে ব্যবহার না করার পরামর্শ দেয়। api.jquery.com/radio-selector
পিটার জে

2
বিকল্প: $ ('। ClassName: চেক করা');
মিটাই ডটকম

409

এটা ব্যবহার কর..

$("#myform input[type='radio']:checked").val();

64
আপনার ফর্মটিতে যদি রেডিও বোতামের একাধিক সেট থাকে তবে এটি কেবল প্রথম সেটটির মান পাবে, আমি মনে করি।
ব্র্যাড

3
এটি ফর্মটিতে যাচাই করা প্রথম রেডিও বোতামের মানটিই ফিরিয়ে দেবে। এটি পিটার জে যেমন পরামর্শ দিয়েছিলেন তেমনই করা উচিত।
মিকজে

3
@ মিকজে এই কোডের টুকরোটি পিটার জে যেমন রয়েছে ... আসল প্রশ্নের ব্যবহারের ক্ষেত্রে বিবেচনা করে। তবে আপনার যদি রেডিও বোতামগুলির বিভিন্ন গ্রুপ থাকে তবে এটি কাজ করবে না। এজন্যই [নাম = নির্বাচক]
লিথ

1
@ ব্র্যাড যেমন উল্লেখ করেছেন, এটি কেবলমাত্র প্রথম সেটটির মান পাবে। আপনি যা চান তা হ'ল ".val ()" কে ".map (ফাংশন () দিয়ে প্রতিস্থাপন করুন {এটি ফিরিয়ে দিন val
am_

1
এটির মূল্যের জন্য, (হ্যাঁ, আমি প্রয়োজন ব্লাহ ব্লাহের আগে অনুকূলিতকরণ জানি) তবে খাঁটি পারফরম্যান্সের জন্য এটি বিশেষত পুরানো ব্রাউজারগুলিতে দ্রুত কাজ করে:$("#myform").find("input[type='radio']:checked").val();
মার্ক শুলথিস

307

আপনার যদি ইতিমধ্যে রেডিও বোতাম গোষ্ঠীর কোনও রেফারেন্স থাকে তবে উদাহরণস্বরূপ:

var myRadio = $("input[name=myRadio]");

না filter()ফাংশন ব্যবহার করুন find()। ( find()এটি শিশু / বংশধর উপাদানগুলির সন্ধানের জন্য, যেখানে filter()আপনার নির্বাচনের শীর্ষ স্তরের উপাদান অনুসন্ধান করে))

var checkedValue = myRadio.filter(":checked").val();

নোটস: এই উত্তরটি মূলত অন্য একটি উত্তরকে সংশোধন করছে find()যা ব্যবহারের প্রস্তাব দিয়েছিল , যা সম্ভবত এটির পরে পরিবর্তন হয়েছে। find()এখনও আপনার অবস্থার জন্য কার্যকর হতে পারে যেখানে ইতিমধ্যে আপনার একটি ধারক উপাদানটির উল্লেখ রয়েছে তবে রেডিও বোতামগুলির ক্ষেত্রে নয়, যেমন:

var form = $("#mainForm");
...
var checkedValue = form.find("input[name=myRadio]:checked").val();

7
আমি কেবল স্পষ্টতার স্বার্থে যুক্ত করতে চেয়েছিলাম, এটি অনুসন্ধান () আসলে সমস্ত বংশধর উপাদান অনুসন্ধান করে (যা প্রদত্ত নির্বাচিতের সাথে মেলে)। আপনি যদি কেবল প্রত্যক্ষ বাচ্চাদের চান তবে বাচ্চাদের () ব্যবহার করুন।
ম্যাট ব্রাউন

139

এই কাজ করা উচিত:

$("input[name='radioName']:checked").val()

ইনপুটটির চারপাশে ব্যবহৃত "" নোট করুন: পিটার জে এর সমাধানের মতো চেক করা এবং '' নয়


এটি নির্বাচিত উত্তর হওয়া উচিত। নাম একটি খুব সুন্দর ভাবে রেডিও বোতাম ট্র্যাক রাখতে হয়
quemeful

79

আপনি: বেতার নির্বাচক সহ চেক করা নির্বাচকটি ব্যবহার করতে পারেন।

 $("form:radio:checked").val();

13
এটি দেখতে দুর্দান্ত লাগছে তবে jQuery ডকুমেন্টেশনগুলি আরও ভাল পারফরম্যান্সের জন্য: রেডিওর পরিবর্তে [টাইপ = রেডিও] ব্যবহার করার পরামর্শ দেয়। এটি পাঠযোগ্যতা এবং পারফরম্যান্সের মধ্যে একটি বাণিজ্য। আমি সাধারণত এ জাতীয় তুচ্ছ বিষয়গুলির উপর পারফরম্যান্সের চেয়ে পাঠযোগ্যতা গ্রহণ করি তবে এই ক্ষেত্রে আমি মনে করি [টাইপ = রেডিও] আসলে পরিষ্কার। সুতরাং এক্ষেত্রে এটি দেখতে $ ("ফর্ম ইনপুট [টাইপ = রেডিও]: চেক করা") val ভাল () দেখাবে look এখনও একটি বৈধ উত্তর।
কোনটি

57

আপনি যদি কেবল বুলিয়ান মান চান তবে এটি যাচাই বা না করে দেখুন:

$("#Myradio").is(":checked")

53

সমস্ত রেডিও পান:

var radios = jQuery("input[type='radio']");

একটিকে পরীক্ষা করার জন্য ফিল্টার

radios.filter(":checked")



25

এখানে আমি কীভাবে ফর্মটি লিখব এবং চেক করা রেডিওটি পরিচালনা করব Here

মাইফর্ম নামে একটি ফর্ম ব্যবহার করে:

<form id='myForm'>
    <input type='radio' name='radio1' class='radio1' value='val1' />
    <input type='radio' name='radio1' class='radio1' value='val2' />
    ...
</form>

ফর্মটি থেকে মানটি পান:

$('#myForm .radio1:checked').val();

আপনি যদি ফর্মটি পোস্ট না করে থাকেন তবে আমি এটি ব্যবহার করে আরও সহজ করব:

<input type='radio' class='radio1' value='val1' />
<input type='radio' class='radio1' value='val2' />

তারপরে চেক করা মানটি হয়ে যায়:

    $('.radio1:checked').val();

ইনপুটটিতে একটি শ্রেণীর নাম থাকা আমাকে ইনপুটগুলিকে সহজেই স্টাইল করতে দেয় ...


24

আমার ক্ষেত্রে আমার একটি ফর্মের দুটি রেডিও বোতাম রয়েছে এবং আমি প্রতিটি বোতামের স্থিতি জানতে চেয়েছিলাম। এটি নীচে আমার জন্য কাজ করেছে:

// get radio buttons value
console.log( "radio1: " +  $('input[id=radio1]:checked', '#toggle-form').val() );
console.log( "radio2: " +  $('input[id=radio2]:checked', '#toggle-form').val() );


    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="toggle-form">
  <div id="radio">
    <input type="radio" id="radio1" name="radio" checked="checked" /><label for="radio1">Plot single</label>
    <input type="radio" id="radio2" name="radio"/><label for="radio2">Plot all</label>
  </div>
</form>


1
প্রতিটি বোতামের স্থিতি বলতে কী বোঝ? একই নামের রেডিও বোতামগুলি কেবলমাত্র একটিতে চেক করার অনুমতি দেয়, অতএব, যদি আপনি চেক করা একটি পান তবে বাকীগুলি পরীক্ষা করা যায় না।
ডেমেন্টিক

17

একটি জেএসএফ উত্পাদিত রেডিও বোতামে ( <h:selectOneRadio>ট্যাগ ব্যবহার করে ) আপনি এটি করতে পারেন:

radiobuttonvalue = jQuery("input[name='form_id\:radiobutton_id']:checked").val();

যেখানে selectOneRadio আইডি নয় radiobutton_id এবং ফর্ম আইডি form_id

নিশ্চিত করার জন্য ব্যবহার করা নাম পরিবর্তে আইডি , নির্দেশিত হিসাবে, কারণ jQuery এর (এই বৈশিষ্ট্য ব্যবহার নাম প্রতিম নিয়ন্ত্রণ আইডি JSF দ্বারা স্বয়ংক্রিয়ভাবে উত্পন্ন করা হয় না)।


15

এছাড়াও, ব্যবহারকারী কিছু নির্বাচন না করে কিনা তা পরীক্ষা করে দেখুন।

var radioanswer = 'none';
if ($('input[name=myRadio]:checked').val() != null) {           
   radioanswer = $('input[name=myRadio]:checked').val();
}

15

আমি রেডিও-বোতামের মানগুলি সেট করতে এবং পাওয়ার জন্য একটি jQuery প্লাগইন লিখেছি। এটি তাদের উপর "পরিবর্তন" ইভেন্টকে সম্মান করে।

(function ($) {

    function changeRadioButton(element, value) {
        var name = $(element).attr("name");
        $("[type=radio][name=" + name + "]:checked").removeAttr("checked");
        $("[type=radio][name=" + name + "][value=" + value + "]").attr("checked", "checked");
        $("[type=radio][name=" + name + "]:checked").change();
    }

    function getRadioButton(element) {
        var name = $(element).attr("name");
        return $("[type=radio][name=" + name + "]:checked").attr("value");
    }

    var originalVal = $.fn.val;
    $.fn.val = function(value) {

        //is it a radio button? treat it differently.
        if($(this).is("[type=radio]")) {

            if (typeof value != 'undefined') {

                //setter
                changeRadioButton(this, value);
                return $(this);

            } else {

                //getter
                return getRadioButton(this);

            }

        } else {

            //it wasn't a radio button - let's call the default val function.
            if (typeof value != 'undefined') {
                return originalVal.call(this, value);
            } else {
                return originalVal.call(this);
            }

        }
    };
})(jQuery);

অ্যাডইন সক্ষম করতে কোডটি যে কোনও জায়গায় রাখুন। তারপর ভোগ! এটি কিছু না ভেঙে ডিফল্ট ভ্যাল ফাংশনটিকে ওভাররাইড করে।

এটি কার্যকর করতে চেষ্টা করতে আপনি এই jsFizz দেখতে যেতে পারেন এবং এটি কীভাবে কাজ করে তা দেখুন।

বেহালা


14

আপনার যদি একক আকারে একাধিক রেডিও বোতাম থাকে

var myRadio1 = $('input[name=radioButtonName1]');
var value1 = myRadio1.filter(':checked').val();

var myRadio2 = $('input[name=radioButtonName2]');
var value2 = myRadio2.filter(':checked').val();

এটি আমার জন্য কাজ করছে।



12

এটি কাজ করে

$('input[type="radio"][class="className"]:checked').val()

ওয়ার্কিং ডেমো

:checkedনির্বাচক জন্য কাজ করে checkboxes, radio buttonsএবং উপাদানের নির্বাচন করুন। শুধুমাত্র নির্বাচনের উপাদানগুলির জন্য, :selectedনির্বাচকটি ব্যবহার করুন ।

এর জন্য এপিআই :checked Selector



10

আমি এই সহজ স্ক্রিপ্ট ব্যবহার

$('input[name="myRadio"]').on('change', function() {
  var radioValue = $('input[name="myRadio"]:checked').val();        
  alert(radioValue); 
});

আপনি যদি সমস্ত ব্রাউজারে এটি কাজ করতে চান তবে পরিবর্তিত ইভেন্টের পরিবর্তে ক্লিক ইভেন্টটি ব্যবহার করুন
ম্যাট ব্রাউন

10

এটা ব্যবহার কর:

value = $('input[name=button-name]:checked').val();

8

ডেমো : https://jsfiddle.net/ipsjolly/xygr065w/

	$(function(){
	    $("#submit").click(function(){      
	        alert($('input:radio:checked').val());
	    });
	 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
       <tr>
         <td>Sales Promotion</td>
         <td><input type="radio" name="q12_3" value="1">1</td>
         <td><input type="radio" name="q12_3" value="2">2</td>
         <td><input type="radio" name="q12_3" value="3">3</td>
         <td><input type="radio" name="q12_3" value="4">4</td>
         <td><input type="radio" name="q12_3" value="5">5</td>
      </tr>
    </table>
<button id="submit">submit</button>



5

এটির জন্য আমি একটি গ্রন্থাগার প্রকাশ করেছি। সমস্ত সম্ভাব্য ইনপুট মানগুলি টান দেয়, আসলে এটিও অন্তর্ভুক্ত করে যে কোন রেডিও বোতামটি চেক করা হয়েছিল। আপনি এটি https://github.com/mazondo/formalizedata এ দেখতে পারেন

এটি আপনাকে উত্তরগুলির একটি জেএস বস্তু দেবে, সুতরাং একটি ফর্ম:

<form>
<input type="radio" name"favorite-color" value="blue" checked> Blue
<input type="radio" name="favorite-color" value="red"> Red
</form>

তোমাকে দিবে:

$("form").formalizeData()
{
  "favorite-color" : "blue"
}

4

জাভাস্ক্রিপ্ট অ্যারেতে সমস্ত রেডিও বোতামের মানগুলি পুনরুদ্ধার করতে নিম্নলিখিত jQuery কোডটি ব্যবহার করুন:

var values = jQuery('input:checkbox:checked.group1').map(function () {
    return this.value;
}).get();

2
রেডিও বোতামগুলি চেকবাক্সগুলির মতো নয়। এই উদাহরণটিতে চেকবক্স ব্যবহার করা হয়।
ম্যাট ব্রাউন



3

এটি পাওয়ার আরেকটি উপায়:

 $("#myForm input[type=radio]").on("change",function(){
   if(this.checked) {
    alert(this.value);
    }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
   <span><input type="radio" name="q12_3" value="1">1</span><br>
   <span><input type="radio" name="q12_3" value="2">2</span>
</form>


2
$(function () {
// Someone has clicked one of the radio buttons
var myform= 'form.myform';
$(myform).click(function () {
    var radValue= "";
    $(this).find('input[type=radio]:checked').each(function () {
        radValue= $(this).val();
    });
  })
});

1

এই প্রশ্নটি থেকে , inputআপনি যখন clickতার সম্পর্কিত লেবেলের জন্য কোনও ইভেন্টের মধ্যে রয়েছেন তখন নির্বাচিত বর্তমানে নির্বাচিত অ্যাক্সেসের একটি বিকল্প উপায় নিয়ে এসেছি । সদ্য নির্বাচিতটির ক্লিক ইভেন্টের inputপরে আপডেট না হওয়া কারণ এর কারণ label

টি এল; ডিআর

$('label').click(function() {
  var selected = $('#' + $(this).attr('for')).val();

  ...
});


1

আমার যা করার দরকার ছিল তা ছিল সি # কোড সরল করা, যা সামনের প্রান্তে জাভাস্ক্রিপ্টে যথাসম্ভব করুন। আমি একটি ফিল্ডসেট ধারক ব্যবহার করছি কারণ আমি ডিএনএন-এ কাজ করছি এবং এটির নিজস্ব ফর্ম রয়েছে। সুতরাং আমি কোনও ফর্ম যুক্ত করতে পারি না।

আমার 3 টির মধ্যে কোন পাঠ্য বাক্সটি ব্যবহার করা হচ্ছে তা পরীক্ষা করা দরকার এবং যদি তা হয় তবে অনুসন্ধানের ধরণটি কী? মানটি দিয়ে শুরু হয়, মানটি অন্তর্ভুক্ত করে, মানটির নির্ভুল মিল।

এইচটিএমএল:

<fieldset id="fsPartNum" class="form-inline">
<div class="form-group">
    <label for="txtPartNumber">Part Number:</label>
    <input type="text" id="txtPartNumber" class="input-margin-pn" />
</div>
<div class="form-group">
    <label for="radPNStartsWith">Starts With: </label>
    <input type="radio" id="radPNStartsWith" name="partNumber" checked  value="StartsWith"/>
</div>
<div class="form-group">
    <label for="radPNContains">Contains: </label>
    <input type="radio" id="radPNContains" name="partNumber" value="Contains" />
</div>
<div class="form-group">
    <label for="radPNExactMatch">Exact Match: </label>
    <input type="radio" id="radPNExactMatch" name="partNumber" value="ExactMatch" />
</div>

এবং আমার জাভাস্ক্রিপ্টটি হ'ল:

        alert($('input[name=partNumber]:checked', '#fsPartNum').val()); 
    if(txtPartNumber.val() !== ''){
        message = 'Customer Part Number';
    }
    else if(txtCommercialPartNumber.val() !== ''){

    }
    else if(txtDescription.val() !== ''){

    }

কেবল একটি আইডির সাথে যে কোনও ট্যাগযুক্ত ব্যবহার করা যেতে পারে তা বলে। DNNers এর জন্য, এটি জানা ভাল। এখানে শেষ লক্ষ্যটি এসকিউএল সার্ভারে একটি অংশ অনুসন্ধান শুরু করার জন্য প্রয়োজনীয় যা মিড-লেভেল কোডে চলে আসে।

এইভাবে আমাকে পূর্ববর্তী সি # কোডটি আরও জটিল অনুলিপি করতে হবে না। ভারী উত্তোলন ঠিক এখানে করা হচ্ছে।

এটির জন্য আমাকে কিছুটা তাকিয়ে থাকতে হবে এবং তারপরে এটি টিঙ্কার করতে হয়েছিল। সুতরাং অন্যান্য ডিএননারদের জন্য, আশা করি এটি সন্ধান করা সহজ।

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