চেকবক্সটি চেক করা থাকলে jQuery


414

আমার নীচে একটি ফাংশন রয়েছে যা আমি কেবল তখনই ট্রিগার করতে চাই যখন একই টিআরের একটি চেকবক্স চেক করা হয়। দয়া করে আমাকে বলুন আমি কী ভুল করছি, স্বাভাবিক পদ্ধতিগুলি কাজ করছে না। ধন্যবাদ

জাতীয়

$(".add_menu_item_table").live('click', function() {
  var value_td = $(this).parents('tr').find('td.td_name').text();
  if ($('input.checkbox_check').attr(':checked')); {
    var newDiv = $('<div class="div_menu_button"></div>');
    var showDiv = $('<div id="show' + "0" + numShow++ + '" class="menu_button_info hidden"></div>');
    var toggleTrigger = $('<a id="toggleshow' + "0" + numToggle++ + '" data-target="#show' + "0" + numTarget++ + '" class="toggle_trigger actions">&nbsp;</a><div style="padding:5px"></div>');
    var menuForm = $('<form id="menu_edit_form' + "0" + numForm++ + '" class="menu_creation_form"></form>');
    $('#created_buttons_list').append(
      newDiv.text(value_td)
    );
    newDiv.wrap("<li></li>");
    newDiv.append(toggleTrigger);
    newDiv.append(showDiv);
    showDiv.append(menuForm);
    menuForm.html('<label for="navigation_label">Navigation Label</label><input id="navigation_label' + "0" + numLabelone++ + '" type="text" placeholder="Navigation Label" name="navigation_label"><label for="attribute">Attribute</label><input id="attribute' + "0" + numLabeltwo++ + '" type="text" type="text" placeholder="Attribute" name="attribute"><label for="url">URL</label><input id="url' + "0" + numLabelthree++ + '" type="text" type="text" placeholder="URL" name="url"><input type="button" value="Remove" class="button_link remove_button"> <input type="reset" value="Cancel" class="button_link">');
  }
});

var numToggle = 0;
var numShow = 0;
var numTarget = 0;
var numForm = 0;
var numLabelone = 0;
var numLabeltwo = 0;
var numLabelthree = 0;
<table width="316px" border="0" cellspacing="0" cellpadding="0" id="table-data">
  <tbody>
    <tr>
      <td width="20px"><input type="checkbox" style="width:20px;" value="1" name="checkbox"></td>
      <td width="200px"><a href="/admin/feedbackmanager/sortby/2/sortdesc/0">Page Name</a></td>
      <td width="20px"><a href="/admin/feedbackmanager/sortby/3/sortdesc/0">Add</a></td>
    </tr>
    <tr>
      <td><input type="checkbox" style="width:20px;" value="1" name="checkbox" class="checkbox_check"></td>
      <td class="td_name">Timeplot</td>
      <td><input class="add_menu_item_table" name="add_menu_item" value="Add" type="button"></td>
    </tr>
    <tr>
      <td><input type="checkbox" style="width:20px;" value="1" name="checkbox" class="checkbox_check"></td>
      <td class="td_name">Operations Manuals</td>
      <td><input class="add_menu_item_table" name="add_menu_item" value="Add" type="button"></td>
    </tr> 
  </tbody>
</table>

$('input.checkbox_check').checkedআয় trueযদি এটা চেক করা যাচ্ছে, falseঅন্যথায়
ডন জন্য Cheadle

1
@ মিমক্রাই, এটি ভুল। JQuery অবজেক্টের কোনও সম্পত্তি নেই checked। আমি মনে করি আপনি বোঝাতে চেয়েছিলেন$('input.checkbox_check')[0].checked
পল

উত্তর:


1048
if ($('input.checkbox_check').is(':checked')) {

4
কফিস্ক্রিপ্টে:if $('#my_checkbox').is ':checked'
ডেনিস

11
কোড jQuery এর ডক দ্বারা নিশ্চিত করা, ": নির্ধারণ করতে একটি চেকবক্স চেক করা হয় ক্রস ব্রাউজার সামঞ্জস্যপূর্ণ উপায় সম্পত্তি ব্যবহার করা if ( elem.checked )বা if ( $( elem ).prop( "checked" ) )বা if ( $( elem ).is( ":checked" ) )"। দেখতে api.jquery.com/prop
Adrien হউন

যদি আমরা পারফরম্যান্সের বিষয়ে কথা বলতে যাচ্ছি তবে ক্লিনটন জিজ্ঞাসা করা প্রশ্নে এই মন্তব্যগুলির মধ্যে কিছু যোগ করা উচিত এবং পরামর্শ দেওয়া হয়েছিল যে চূড়ান্ত দ্রুততম সুপারিশটি একটি আইডি যুক্ত করতে হবে
টম স্টিকেল

128

jQuery 1.6 বা উচ্চতর জন্য:

if ($('input.checkbox_check').prop('checked')) {
    //blah blah
}

একটি চেকবাক্স চেক করা হয়েছে কিনা তা নির্ধারণের জন্য ক্রস ব্রাউজার-সামঞ্জস্যপূর্ণ উপায় হ'ল সম্পত্তি ব্যবহার করতে হবে https://api.jquery.com/prop/


8
নোট করুন যে ".prop () পদ্ধতিটি ম্যাচিং সেটে কেবলমাত্র প্রথম উপাদানটির জন্য সম্পত্তি মানটি অর্জন করে।" দেখতে api.jquery.com/prop
Adrien হউন

57

এটি $('#checkboxId').is(':checked')যাচাই করা হয়েছে কিনা তা যাচাই করা হলে

এবং এটি $("#checkboxId").prop('checked', true) পরীক্ষা করে দেখুন

এবং এটি পরীক্ষা $("#checkboxId").prop('checked', false)করে দেখুন


2
যৌক্তিক পরবর্তী পদক্ষেপ দেওয়ার জন্য প্লাস ওয়ান।
জেসন

22

উপরের সমাধানগুলির কোনওটি যদি আমার কারণে যেমন কোনও কারণে কাজ করে না, তবে চেষ্টা করে দেখুন:

  <script type="text/javascript">
    $(function()
    {
      $('[name="my_checkbox"]').change(function()
      {
        if ($(this).is(':checked')) {
           // Do something...
           alert('You can rock now...');
        };
      });
    });
  </script>

এই সমাধানটি আমার পক্ষে কাজ করে
জ্যাক করা

8

এটিটিআর | এর মধ্যে প্রধান পার্থক্য দেখুন প্রোপ | IS নিচে:

সূত্র: http://api.jquery.com/attr /

$( "input" )
  .change(function() {
    var $input = $( this );
    $( "p" ).html( ".attr( 'checked' ): <b>" + $input.attr( "checked" ) + "</b><br>" +
      ".prop( 'checked' ): <b>" + $input.prop( "checked" ) + "</b><br>" +
      ".is( ':checked' ): <b>" + $input.is( ":checked" ) + "</b>" );
  })
  .change();
p {
    margin: 20px 0 0;
  }
  b {
    color: blue;
  }
<meta charset="utf-8">
  <title>attr demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<input id="check1" type="checkbox" checked="checked">
<label for="check1">Check me</label>
<p></p>
 

 
</body>
</html>


7

যদি চেক করা থাকে :

$( "SELECTOR" ).attr( "checked" )  // Returns ‘true’ if present on the element, returns undefined if not present
$( "SELECTOR" ).prop( "checked" ) // Returns true if checked, false if unchecked.
$( "SELECTOR" ).is( ":checked" ) // Returns true if checked, false if unchecked.

চেক করা ভালটি পান :

$( "SELECTOR:checked" ).val()

পরীক্ষিত ভাল নম্বর পান :

$( "SELECTOR:checked" ).length

চেকবক্সটি চেক বা আনচেক করুন

$( "SELECTOR" ).prop( "disabled", false );
$( "SELECTOR" ).prop( "checked", true );

$( "SELECTOR:checked" ).val()অন value="on"আপনাকে "অন" যদি চেক করা থাকে এবং "" যদি চেক না করা হয় - দরকারী দেয়!
ফ্যানকি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.