JQuery ব্যবহার করে একটি ডিভিতে চেক করা চেকবক্সগুলির একটি তালিকা পান


231

আমি চেকবাক্সগুলির নামের একটি তালিকা পেতে চাই যা নির্দিষ্ট আইডির সাথে ডিভিতে নির্বাচিত হয়। আমি কীভাবে jQuery ব্যবহার করব?

উদাহরণস্বরূপ, এই ডিভের জন্য আমি অ্যারে পেতে চাই ["c_n_0"; "c_n_3"] বা একটি স্ট্রিং "c_n_0; c_n_3"

<div id="checkboxes">
    <input id="chkbx_0" type="checkbox" name="c_n_0" checked="checked" />Option 1
    <input id="chkbx_1" type="checkbox" name="c_n_1" />Option 2
    <input id="chkbx_2" type="checkbox" name="c_n_2" />Option 3
    <input id="chkbx_3" type="checkbox" name="c_n_3" checked="checked" />Option 4
</div>

উত্তর:


434

পূর্ববর্তী দুটি উত্তরের সংমিশ্রণ:

var selected = [];
$('#checkboxes input:checked').each(function() {
    selected.push($(this).attr('name'));
});

10
এবং অন্য একটি কম্বো: var নির্বাচিত = $ ('# চেকবাক্স ইনপুট: পরীক্ষিত') map // যুক্ত .join (';') একটি সম্মিলিত স্ট্রিং পেতে
রবারকুলস

1
@ অ্যালেক্স এলই আমি কীভাবে কেবল নির্বাচিত চেকবাক্সগুলির গণনা পেতে পারি? আমাকে কেবল ডিভের ভিতরে থাকা কোনও চেকবক্স পরীক্ষা করা আছে কিনা তা যাচাই করা দরকার।
আশীষ্মেশ্বরমে

1
@Ashish। কেবল লিখুন: var গণনা = $ ('# চেকবাক্স ইনপুট: পরীক্ষিত')। দৈর্ঘ্য;
অ্যালেক্স এল

2
নির্মাণকারীর অপ্রয়োজনীয় কল var selected = new Array();। এর সাথে আরও ভাল (সস্তা)var selected = [];
পোনো

আমি কীভাবে এটি changeফাংশনে পেতে পারি ?
সিই 8

54

এটা কি করবে?

var selected = [];
$('div#checkboxes input[type=checkbox]').each(function() {
   if ($(this).is(":checked")) {
       selected.push($(this).attr('name'));
   }
});

9
this (এটি) .চেকড কাজ করে না। (This (এটি) .attr ('চেকড')) বা যদি ($ (এটি) .আইস (': চেক করা')) ব্যবহার করুন
স্টেফান স্টেইগার

যদি .attr('checked')বা .prop('checked')বা .is(':checked')কাজ নাও করে দেখুন.get(0).checked
emfi

37
$("#checkboxes").children("input:checked")

আপনাকে তাদের উপাদানগুলির একটি অ্যারে দেবে। আপনার কেবলমাত্র নামগুলির প্রয়োজন হলে:

$("#checkboxes").children("input:checked").map(function() {
    return this.name;
});

2
আমি মনে করি এটির এই নামটি ফিরিয়ে দেওয়া উচিত or (এটি) .attr ('নাম');
জ্যানসেন দাম

4
$("#checkboxes :checked").map(...)আরও সংক্ষিপ্ত হবে। জানসেন যেমন উল্লেখ করেছেন, তা হওয়া উচিত $(this).attr("name"); তবে আমি একটি সাধারণ বিবেচনা করব this.nameযা ঠিক ততটাই সামঞ্জস্যপূর্ণ হওয়া উচিত।
অ্যালেক্স ব্যারেট

1
এটি সাধারণ মানচিত্রের জন্য দুর্দান্ত ছিল। আমি পরিবর্তন childrenকরতে findগভীর দেখুন, এবং প্রয়োজনীয় jQuery তাই ব্যবহার করা বৈশিষ্ট্যাবলী $(this) (এবং যখন আমি আবার খুঁজছেন আসা এই মন্তব্য লিখেছে ...)
goodeye

24

আমার কাছে চেক করা সমস্ত চেকবক্সের গণনা প্রয়োজন। একটি লুপ লেখার পরিবর্তে আমি এটি করেছি

$(".myCheckBoxClass:checked").length;

এগুলি সমান কিনা তা দেখতে মোট চেকবক্সের সংখ্যার সাথে এটি তুলনা করুন। আশা করি এটি কারও সাহায্য করবে


9

এটি আমার পক্ষে কাজ করে।

var selecteditems = [];

$("#Div").find("input:checked").each(function (i, ob) { 
    selecteditems.push($(ob).val());
});

6

আপনি এগুলিকে একই নাম দিতে পারেন যাতে তারা অ্যারে হয় তবে তাদের আলাদা মান দেয় :

<div id="checkboxes">
    <input type="checkbox" name="c_n[]" value="c_n_0" checked="checked" />Option 1
    <input type="checkbox" name="c_n[]" value="c_n_1" />Option 2
    <input type="checkbox" name="c_n[]" value="c_n_2" />Option 3
    <input type="checkbox" name="c_n[]" value="c_n_3" checked="checked" />Option 4
</div>

তারপরে আপনি মানচিত্রটি ব্যবহার করে কেবল টিকযুক্তদের কেবলমাত্র মান পেতে পারেন :

$('#checkboxes input:checked[name="c_n[]"]')
            .map(function () { return $(this).val(); }).get()

0
function listselect() {
                var selected = [];
                $('.SelectPhone').prop('checked', function () {

                    selected.push($(this).val());
                });

                alert(selected.length);
     <input type="checkbox" name="SelectPhone" class="SelectPhone"  value="1" />
         <input type="checkbox" name="SelectPhone" class="SelectPhone"  value="2" />
         <input type="checkbox" name="SelectPhone" class="SelectPhone"  value="3" />
        <button onclick="listselect()">show count</button>

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