jQuery দেখুন কিনা কোনও বা কোনও চেকবক্স নির্বাচন করা হয়নি


126

আমি জানি যে কীভাবে একটি পৃথক চেকবক্স বাছাই করা আছে কিনা।

তবে আমি নিম্নলিখিতগুলির সাথে সমস্যায় পড়েছি - একটি ফর্ম আইডি দেওয়া হয়েছে আমাকে দেখতে হবে যে কোনও চেকবক্স নির্বাচন করা হয়েছে কিনা (যেমন 1 বা তার বেশি), এবং আমার কোনওটি নির্বাচিত হয়নি কিনা তা দেখার দরকার । মূলত আমার দুটি পৃথক ফাংশন প্রয়োজন যা এই দুটি প্রশ্নের উত্তর দেয়। সাহায্য প্রশংসা করা হবে। ধন্যবাদ!

আসলে, আমার কোনও ফাংশন প্রয়োজন আমাকে বলার জন্য যদি কোনওটি নির্বাচিত না হয়। এটি জানার সাথে সাথে অন্য প্রশ্নের উত্তর দেওয়া হবে।


উত্তর:


246

আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন

if ($("#formID input:checkbox:checked").length > 0)
{
    // any one is checked
}
else
{
   // none is checked
}

8
$("#formID input:checkbox:checked").lengthএখানেও যথেষ্ট হবে
ড্যামন

@ ড্যামন আমি অনুমান করেছি যে আপনি বোঝাতে চেয়েছিলেন if ($("#formID input:checkbox:checked").length){}(ব্যতীত >0) যথেষ্ট হবে কারণ 0 টি মিথ্যা মান, জেমস.প্যাডলসি
অ্যাড্রিয়েন

11
jQuery এর সংক্রান্ত বলেছেন :checkboxনির্বাচক: For better performance in modern browsers, use [type="checkbox"]দেখুন api.jquery.com/checkbox-selector - BTW radiobuttons জন্য একই, use [type="radio"] rather than :radio api.jquery.com/radio-selector
Adrien হউন

27

JQuery .isসমস্ত নির্দিষ্ট উপাদান পরীক্ষা করে সত্যের দিকে ফিরে আসবে যদি তাদের মধ্যে কমপক্ষে কোনও একটি নির্বাচকের সাথে মেলে:

if ($(":checkbox[name='choices']", form).is(":checked"))
{
    // one or more checked
}
else
{
    // nothing checked
}

আলথচট is()কাজ করছে বলে মনে হচ্ছে, :checked@ রাহুলের উত্তরে ইঙ্গিত করা হয়েছে যে নির্বাচকের মধ্যে সরাসরি থাকা আরও উপযুক্ত মনে হয়। "কলব্যাকের অভ্যন্তরে" যখন () আরও দরকারী বলে মনে হয়, তখন api.jquery.com/is দেখুন । নাকি আমি কিছু মিস করছি?
এড্রিয়েন

না, ডক্সে যা লিখিত হয়েছে এটি অনেক বেশি - আপনি কোনও উপাদান নির্দিষ্ট বৈশিষ্ট্যের সাথে মিলছে কিনা তা পরীক্ষা করে দেখেন। এটিকে ফিল্টার হিসাবে প্রয়োগ করা এবং তারপরে আপনি কমপক্ষে একটি আইটেম পেয়েছেন কিনা তা যাচাই করা একই তবে ইমো দীর্ঘতর এবং এতটা অভিব্যক্তিপূর্ণ নয়।
মাইকেল লোগুতভ

.is(":checked")আপনার সমাধানটি আরও প্রকাশিত, এই বিষয়ে বাকি সম্পর্কে নিশ্চিত না হওয়ার কারণে +1 ।
অ্যাড্রিন

যেমন $("form input[type=checkbox]").is(":checked")একটি সহজ এবং আরো অনেক কিছুতে জেনেরিক পদ্ধতির হতে পারে।
অ্যাড্রিন

@ অ্যাড্রিনবি ব্যবহার isকরা আরও ভাল পারফরম্যান্স হতে পারে, কারণ এটি খুঁজে পাওয়ার সাথে সাথে এটি বন্ধ হয়ে যায়।
ক্রিসডাব্লু

8

তুমি এটি করতে পারো:

  if ($('#form_id :checkbox:checked').length > 0){
    // one or more checkboxes are checked
  }
  else{
   // no checkboxes are checked
  }

কোথায়:

  • :checkbox ফিল্টার নির্বাচনকারী সমস্ত চেকবক্স নির্বাচন করে।
  • :checked চেক করা চেকবক্সগুলি নির্বাচন করবে
  • length সেখানে পরীক্ষিতদের সংখ্যা দেবে

jQuery এর সংক্রান্ত বলেছেন :checkboxনির্বাচক: For better performance in modern browsers, use [type="checkbox"]দেখুন api.jquery.com/checkbox-selector
Adrien হউন

6

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

$('input[type="checkbox"]').change(function(){ 

        var itemName = $('select option:selected').text();  

         //Do something.

});     

6

'দৈর্ঘ্য' ব্যবহার না করে আপনি এটি এর মতো করতে পারেন:

if ($('input[type=checkbox]').is(":checked")) {
      //any one is checked
}
else {
//none is checked
}

3

আপনি .lengthএখানে একটি সাধারণ রিটার্ন করতে পারেন :

function areAnyChecked(formID) {
  return !!$('#'+formID+' input[type=checkbox]:checked').length;
}

প্রদত্ত ফর্মটিতে চেকবক্সগুলির জন্য এই চেহারাটি রয়েছে কিনা তা দেখেছে :checkedএবং trueসেগুলি রয়েছে কিনা তা দেখায় (যেহেতু দৈর্ঘ্য 0 0 হবে)। এটিকে কিছুটা পরিষ্কার করার জন্য, এখানে নন বুলিয়ান রূপান্তরিত সংস্করণটি রয়েছে:

function howManyAreChecked(formID) {
  return $('#'+formID+' input[type=checkbox]:checked').length;
}

এটি কতটি চেক করা হয়েছিল তার একটি গণনা ফিরিয়ে দেবে।


3

রাহুলের উত্তরটি আপনার প্রশ্নের পক্ষে সবচেয়ে উপযুক্ত। যাইহোক, যদি আপনার ফর্মের সমস্ত চেকবক্স না পরীক্ষা করতে চেকবাক্সগুলির একটি গ্রুপ থাকে তবে আপনি এটির জন্য যেতে পারেন।

আপনি যে সমস্ত চেকবাক্সগুলি চেক করতে চান তার জন্য একটি ক্লাসের নাম রাখুন, উদাহরণস্বরূপ, একটি শ্রেণিকনাম test_checkএবং এখন আপনি চেকবক্সের কোনওটি গ্রুপের অন্তর্ভুক্ত কিনা তা পরীক্ষা করে দেখতে পারেন:

$("#formID .test_check:checked").length > 0

যদি এটি ফিরে আসে তবে trueধরে নিন যে এক বা একাধিক চেকবক্সগুলি ক্লাসের নাম রয়েছে কিনা তা পরীক্ষা করা হয়েছে এবং কোনওটি test_checkফেরত দিলে চেক করা হয়নি false

আশা করি এটি কাউকে সাহায্য করবে। ধন্যবাদ:) -


1

এই সমস্যাটি সমাধানের এটি সর্বোত্তম উপায়।

  if($("#checkbox").is(":checked")){

  // Do something here /////

  };

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