জাভাস্ক্রিপ্ট jquery রেডিও বোতাম ক্লিক করুন


90

আমার কাছে দুটি রেডিও বোতাম এবং জ্যাকোয়ারি চলছে।

<input type="radio" name="lom" value="1" checked> first
<input type="radio" name="lom" value="2"> second

এখন, একটি বোতামের সাহায্যে একটি ফাংশন চালাতে আমি ক্লিক করতে পারি। আমি যখন তার কোনওটিতে ক্লিক করি তখন রেডিও বোতামগুলি কোনও ফাংশন চালানোর উপায় কী?


4
বিঃদ্রঃ. ফর্ম উপাদানগুলিতে ক্লিক করতে সাড়া না দেওয়া সবচেয়ে ভাল, যেহেতু অনেক লোক কীবোর্ড ব্যবহার করে ফর্ম নেভিগেট করে।
সুপারলুমিনারি

উত্তর:


169

আপনি .changeযা চান তার জন্য আপনি ব্যবহার করতে পারেন

$("input[@name='lom']").change(function(){
    // Do something interesting here
});

jQuery 1.3 হিসাবে

আপনার আর '@' দরকার নেই। নির্বাচন করার সঠিক উপায় হ'ল:

$("input[name='lom']")

7
নোট করুন, jQuery 1.3 হিসাবে আপনার আর '@' দরকার নেই। নির্বাচনের সঠিক উপায় হ'ল:$("input[name='lom']")
লুবার

4
এই সমাধানটি রেডিও মানগুলির উপর ভিত্তি করে শর্তাধীন বিবৃতি দিয়ে নীচে @ জনআইডলের সমাধানের সাথে সংহত করা সম্ভব? প্রাক্তন$("input[name='lom']").change(function(){ if ($(this).val() === '1') {..... // rest conditional statements based on values here } ;
লেজারশার্কস

JQuery 1.3 হিসাবে, আপনার নামের বৈশিষ্ট্য সহ '@' ব্যবহার করা উচিত নয় । আপনি যদি এটি করেন তবে আপনি একটি jquery.self-0a6570c….js?body=1:1464 Uncaught Error: Syntax error, unrecognized expressionত্রুটি পাবেন। সুতরাং এটি পছন্দ করার বিষয় নয়।
scaryguy

53

যদি আপনার রেডিওগুলি আইডি = রেডিওবটনকন্টেইনার সহ একটি ধারকটিতে থাকে তবে আপনি অনক্লিকটি ব্যবহার করতে পারেন এবং তারপরে কোনটি নির্বাচন করা হয়েছে তা পরীক্ষা করতে পারেন এবং সে অনুযায়ী কিছু ফাংশন পরিচালনা করতে পারেন:

$('#radioButtonContainerId input:radio').click(function() {
    if ($(this).val() === '1') {
      myFunction();
    } else if ($(this).val() === '2') {
      myOtherFunction();
    } 
  });

ধন্যবাদ. এটি আমার পক্ষে কাজ করেছে, কারণ আমার ক্ষেত্রটি একটি অ্যারের অংশ ছিল এবং আমি ইনপুটটি ব্যবহার করতে পারিনি [নাম = 'xxx'] স্বরলিপি - <ইনপুট টাইপ = "রেডিও" নাম = "প্রয়োজন [পরিমাপ_প্রকার]" আইডি = "নিড_মিজার_ টাইপ" মান = "AAA">
crafter

আপনি যদি ট্যাব ডাউন করেন এবং তীরচিহ্নগুলি সহ চিহ্নিতকারীকে সরিয়ে নিয়ে যান তবে এটি কি প্রতিক্রিয়া জানায়?
অ্যালিসো

এটি মোবাইলে কাজ করবে না # নির্বাচক মোবাইলে কাজ করছেন না।
জাওতুত

19
<input type="radio" name="radio" value="creditcard" />
<input type="radio" name="radio" value="cash"/>
<input type="radio" name="radio" value="cheque"/>
<input type="radio" name="radio" value="instore"/>

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

4
যদিও এই উত্তরটি ইভেন্টটিতে কোডটি তারে আপ করা যায় তা দেখায় না, তবে আমি এটি পছন্দ করি যে এটিতে কীভাবে রেডিও বোতাম গোষ্ঠীর মান পুনরুদ্ধার করা যায় তার জন্য তথ্য রয়েছে।
ম্যানফ্রেড

4
"(" ইনপুট [@ নাম = 'লম'] ") change পরিবর্তন (ফাংশন () {// এখানে আকর্ষণীয় কিছু করুন});
বিশ্ব হান্না


8

এই কাজ করার বিভিন্ন উপায় আছে। রেডিও বোতামগুলির চারপাশে ধারক রাখার জন্য সুপারিশ করা হয় তবে আপনি বাটনগুলিতে সরাসরি একটি ক্লাস রাখতে পারেন। এই এইচটিএমএল সহ:

<ul id="shapeList" class="radioList">
<li><label>Shape:</label></li>
<li><input id="shapeList_0" class="shapeButton" type="radio" value="Circular" name="shapeList" /><label for="shapeList_0">Circular</label></li>
<li><input id="shapeList_1" class="shapeButton" type="radio" value="Rectangular" name="shapeList" /><label for="shapeList_1">Rectangular</label></li>
</ul>

আপনি শ্রেণি দ্বারা নির্বাচন করতে পারেন:

$(".shapeButton").click(SetShape);

বা ধারক আইডি দ্বারা নির্বাচন করুন:

$("#shapeList").click(SetShape);

উভয় ক্ষেত্রেই, ঘটনাটি রেডিও বোতাম বা তার জন্য লেবেল উভয়ই ক্লিক করতে ট্রিগার করবে, যদিও বিচিত্রভাবে পরবর্তী ক্ষেত্রে ("# শপলিস্ট" নির্বাচন করে), লেবেলে ক্লিক করা কোনও কারণে দু'বার ক্লিক ফাংশনটিকে ট্রিগার করবে অন্তত ফায়ারফক্সে; শ্রেণি দ্বারা নির্বাচন করা এটি করবে না।

সেটশ্যাপ একটি ফাংশন, এবং এর মতো দেখাচ্ছে:

function SetShape() {
    var Shape = $('.shapeButton:checked').val();
//dostuff
}

এইভাবে, আপনার বোতামগুলিতে লেবেল থাকতে পারে এবং একই পৃষ্ঠায় একাধিক রেডিও বোতামের তালিকা থাকতে পারে যা বিভিন্ন জিনিস করে। এমনকি একই তালিকার প্রতিটি স্বতন্ত্র বোতামটি বোতামের মানের উপর ভিত্তি করে সেটशेপ () এ বিভিন্ন আচরণ সেট করে বিভিন্ন জিনিস করতে পারেন।


3

DOM অনুসন্ধান সীমাবদ্ধ করা সর্বদা ভাল। পিতামাতাকেও ব্যবহার করা আরও ভাল, যাতে পুরো ডমটি ট্র্যাভেজ না হয়।

এটি খুব দ্রুত

<div id="radioBtnDiv">
  <input name="myButton" type="radio" class="radioClass" value="manual" checked="checked"/>
 <input name="myButton" type="radio" class="radioClass" value="auto" checked="checked"/>
</div>



 $("input[name='myButton']",$('#radioBtnDiv')).change(
    function(e)
    {
        // your stuffs go here
    });
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.