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
@mmcrae, यह गलत है। JQuery ऑब्जेक्ट में कोई गुण नहीं है checked। मुझे लगता है कि आपका मतलब है$('input.checkbox_check')[0].checked
पॉल

जवाबों:


1049
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
एड्रियन रहो

अगर हम प्रदर्शन के बारे में बात करने जा रहे हैं, तो इनमें से कुछ टिप्पणियों को क्लिंटन द्वारा पूछे गए सवाल से सीधे जोड़ा जाना चाहिए, और यह सुझाव देते हुए कि सबसे तेज़ सबसे तेज़ सिफारिश एक आईडी जोड़ना होगी
टॉम स्टिकेल

128

jQuery 1.6 या उच्चतर के लिए:

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

क्रॉस-ब्राउज़र-संगत तरीका यह निर्धारित करने के लिए कि क्या चेकबॉक्स चेक किया गया है, संपत्ति का उपयोग करने के लिए https://api.jquery.com/prop/


8
ध्यान दें कि ".prop () विधि मिलान किए गए सेट में केवल पहले तत्व के लिए गुण मान प्राप्त करता है।" देख api.jquery.com/prop
एड्रियन रहो

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>

यह समाधान मेरे लिए काम करता
jking

8

ATTR के बीच मुख्य अंतर देखें | PROP | 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"आप "पर" देता है अगर जाँच की और "" अनियंत्रित अगर - उपयोगी!
22
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.