JQuery- এ, যখন সকলের একই নাম হয় আমি কীভাবে রেডিও বোতামটির মান পাই?


108

আমার কোডটি এখানে:

<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>

এখানে জেএস:

$(function(){
    $("#submit").click(function(){      
        alert($('input[name=q12_3]').val());
    });
 });

এখানে JSFIDDLE ! প্রতিবার আমি বোতাম ক্লিক করলে এটি ফিরে আসে Why কেন? আমাকে কি কেউ সাহায্য করতে পারবেন?

উত্তর:


226

আপনার কোডে, jQuery কেবল নামের সাথে একটি ইনপুটটির প্রথম উদাহরণ সন্ধান করে q12_3, যার ক্ষেত্রে এইটির একটি মান রয়েছে 1। আপনি NAME এর সঙ্গে একটি ইনপুট চান q12_3যে :checked

$("#submit").click(() => {
  const val = $('input[name=q12_3]:checked').val();
  alert(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.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>

নোট করুন যে উপরের কোডটি ব্যবহারের মতো নয়.is(":checked") । jQuery এর is()ফাংশনটি একটি বুলিয়ান দেয় (সত্য বা মিথ্যা) এবং না (an) উপাদান (গুলি)।


যেহেতু এই উত্তরটি অনেক মনোযোগ পেতে থাকে, আমি একটি ভ্যানিলা জাভাস্ক্রিপ্ট স্নিপেটও অন্তর্ভুক্ত করব।

document.querySelector("#submit").addEventListener("click", () => {
  const val = document.querySelector("input[name=q12_3]:checked").value;
  alert(val);
});
<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>


16

আপনার নির্বাচকটিতে, আপনাকে এটিও নির্দিষ্ট করে দেওয়া উচিত যে আপনি চেক করা রেডিওবটনটি চান:

$(function(){
    $("#submit").click(function(){      
        alert($('input[name=q12_3]:checked').val());
    });
 });

1
আমি 'অপরিবর্তিত' মান
পাচ্ছি

@ পবনআলাপতি আপনার এইচটিএমএল না দেখে আমরা আপনাকে সত্যিই বলতে পারি না; আদর্শভাবে, আপনি আপনার সঠিক HTML স্নিপেট এবং আপনি যে কোডটি ব্যবহার করছেন তা দিয়ে একটি নতুন প্রশ্ন পোস্ট করবে। আপনার কেবলমাত্র অপরিজ্ঞাত হওয়া উচিত, যদি: নির্বাচকের নামটি রেডিওব্লটনের নামের সাথে মেলে না; রেডিওব্যাটনের কোনওটিই পরীক্ষিত নয়; অথবা চেক করা রেডিওবুটনের একটি মান নির্ধারিত নেই।
ডেনিস

7

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

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





0

এই স্ক্রিপ্ট ব্যবহার করুন

$('input[name=q12_3]').is(":checked");

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