JQuery සමඟ පිරික්සුම් කොටුවක් සඳහා “පරීක්ෂා” කිරීම


4133

checkboxභාවිතා කරන jQuery එකක් තෝරා ගැනීමට මම මේ වගේ දෙයක් කිරීමට කැමතියි :

$(".myCheckBox").checked(true);

හෝ

$(".myCheckBox").selected(true);

එවැනි දෙයක් තිබේද?


වඩාත් නිශ්චිත (සහ ඉතා ප්‍රයෝජනවත්!) ප්‍රශ්නයක්, “වටිනාකමක් සහිත පිරික්සුම් කොටුවක ඇති අයිතමයක් පරීක්ෂා කරන්නේ කෙසේද?”, අපට මෙහි සාකච්ඡා කළ හැකි යැයි මම සිතමි, මම පිළිතුරක් පහත පළ කළෙමි.
පීටර් ක්‍රවුස්


හුවමාරු සිදුවීම අවුලුවාලීමට ඔබට අවශ්‍ය නම්, එය$("#mycheckbox").click();
HumanInDisguise

"යමක් පරික්ෂා කිරීම" එය පරීක්ෂා කිරීමට යෝජනා කරයි, එබැවින් මම සිතන්නේ 'පිරික්සුම් කොටුවක් පරීක්ෂා කිරීම' වඩාත් පැහැදිලි සහ වඩා හොඳ මාතෘකාවක් බවයි.
අලිරේසා

මුක්කු (); ශ්‍රිතය පරිපූර්ණ පිළිතුරයි. ශ්‍රිත අර්ථ දැක්වීම බලන්න - api.jquery.com/prop
yogihosting

Answers:


5973

නවීන jQuery

භාවිතා කරන්න .prop():

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

DOM API

ඔබ එක් මූලද්‍රව්‍යයක් සමඟ වැඩ කරන්නේ නම්, ඔබට සැමවිටම යටින් පවතින දේට ප්‍රවේශ විය හැකි අතර HTMLInputElementඑහි .checkedදේපල වෙනස් කළ හැකිය :

$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;

.prop()සහ භාවිතා කිරීමේ වාසිය.attr() වෙනුවට ක්‍රම ක්‍රම නම් ඒවා ගැලපෙන සියලුම අංග මත ක්‍රියාත්මක වීමයි.

jQuery 1.5.x සහ ඊට පහළ

මෙම .prop()ක්රමය ලබා ගත නොහැකි වන අතර, එසේ ඔබ භාවිතා කිරීමට අවශ්ය .attr().

$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);

මේ බව සටහන අනුවාදය 1.6 පෙර jQuery ගේ ඒකකය පරීක්ෂණ භාවිතා ප්රවේශය සහ භාවිතා වන්නේ වඩාත් $('.myCheckbox').removeAttr('checked');අග කැමැත්ත නිසා, කොටුව මුලින් පරීක්ෂා කරන ලදී නම්, ඇමතුමක් හැසිරීම වෙනස්.reset() සමහර විට සියුම් නමුත් - එය අඩංගු වන බව කිසිදු ආකාරයක මත අකමැති හැසිරීම වෙනස් වීම.

වැඩි සන්දර්භයක් සඳහා, checked1.5.x සිට 1.6 දක්වා මාරුවීමේදී ගුණාංගය / දේපල හැසිරවීමේ වෙනස්කම් පිළිබඳ අසම්පූර්ණ සාකච්ඡාවක් 1.6 නිකුතු සටහන් අනුවාදයේ සහ ප්‍රලේඛනයේ ගුණාංග හා එදිරිව ගුණාංග කොටසේ සොයාගත හැකිය ..prop()


26
@ ෂියන් විසින් පරීක්ෂා කරන ලද ගුණාංගය ඉවත් කිරීමෙන් පෝරමය නැවත සැකසිය නොහැක
mcgrailm

6
පැති සටහනක් ලෙස, jQuery 1.6.1 මා සඳහන් කළ ගැටලුව නිරාකරණය කළ යුතුය, එබැවින් අපට තාවකාලිකව සියල්ලන්ටම $ (...) භාවිතා කිරීමට ආපසු යා හැකිය. මුක්කු (...)
cwharris

19
"ඔබ එක් අංගයක් සමඟ වැඩ කරන්නේ නම්, එය සැමවිටම භාවිතා කිරීම වේගවත් වනු ඇත DOMElement.checked = true". නමුත් එය නොසැලකිලිමත් වනු ඇත, මන්ද එය එක් අංගයක් පමණි ...
ටයිලර් ක්‍රොම්ප්ටන්

47
ටයිලර් පවසන පරිදි, එය කාර්ය සාධනයේ නොසැලකිලිමත් දියුණුවකි. මට නම්, පොදු API එකක් භාවිතා කිරීමෙන් කේත කිරීම ස්වදේශීය API සහ jQuery API මිශ්‍ර කිරීමට වඩා කියවිය හැකිය. මම jQuery සමඟ රැඳී සිටිමි.
චාලි කිලියන්

18
YTylerCrompton - ඇත්ත වශයෙන්ම, එය මුළුමනින්ම කාර්ය සාධනය ගැන නොවේ, නමුත් $(element).prop('checked')කිරීම යතුරු ලියනය කිරීමේ සම්පූර්ණ නාස්තියකි. element.checkedපවතින අතර ඔබට දැනටමත් ඇති අවස්ථා වලදී භාවිතා කළ යුතුයelement
gnarf

705

භාවිත:

$(".myCheckbox").attr('checked', true); // Deprecated
$(".myCheckbox").prop('checked', true);

ඔබට පිරික්සුම් කොටුවක් සලකුණු කර තිබේද නැද්ද යන්න පරීක්ෂා කිරීමට අවශ්‍ය නම්:

$('.myCheckbox').is(':checked');

4
also $ (තේරීම් කාරකය). පරීක්ෂා කිරීම සඳහා පරීක්ෂා කර ඇත
eomeroff

6
මම මෙම නිශ්චිත කේතය උත්සාහ කළ අතර සියල්ල තෝරා ගැනීමට / තෝරා නොගත් පිරික්සුම් කොටුවක දී එය මට වැඩ කළේ නැත. ඒ වෙනුවට, මම ක්‍රිස්ටෝපර් හැරිස්ගේ පිළිතුර උත්සාහ කළෙමි.
ජේ ඩී ස්මිත්

හුදෙක් "#mycheckbox" වෙනුවට "form #mycheckbox" භාවිතා කරන්නේ ඇයි? හැඳුනුම්පත දැනටමත් සම්පූර්ණ ලේඛනයේම අද්විතීයයි, එය කෙලින්ම තෝරා ගැනීම වේගවත් හා සරල ය.
යූරි ඇල්බකර්කි

@ යූරි ඇල්බකර්කි එය උදාහරණයක් විය. ඔබට අවශ්‍ය ඕනෑම තේරීමක් භාවිතා කළ හැකිය.
bchhun

5
select (තේරීම් කාරකය). පරීක්ෂා කිරීම ක්‍රියා නොකරයි. JQuery හි 'පරීක්ෂා කළ' ක්‍රමයක් නොමැත.
බ්‍රෙන්ඩන් බර්ඩ්

318

හරස් වේදිකා ප්‍රමිතියක් වන බැවින් jQuery සමඟ පිරික්සුම් කොටු පිරික්සීමට හා පරීක්ෂා කිරීමට මෙය නිවැරදි ක්‍රමය වන අතර පෝරම නැවත සැකසීමට ඉඩ දෙනු ඇත .

$('.myCheckBox').each(function(){ this.checked = true; });

$('.myCheckBox').each(function(){ this.checked = false; });

මෙය කිරීමෙන්, ඔබ ජාවාස්ක්‍රිප්ට් ප්‍රමිති භාවිතා කරන්නේ පිරික්සුම් කොටු පරීක්ෂා කිරීම සහ ඉවත් කිරීම සඳහා වන අතර, එබැවින් පිරික්සුම් කොටුවේ මූලද්‍රව්‍යයේ “පරීක්ෂා කළ” දේපල නිසි ලෙස ක්‍රියාත්මක කරන ඕනෑම බ්‍රව්සරයක් මෙම කේතය දෝෂ රහිතව ක්‍රියාත්මක කරයි. මේ සියල්ල ප්‍රධාන බ්‍රව්සර් විය යුතුය, නමුත් මට ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 9 ට පෙර පරීක්ෂා කිරීමට නොහැකි විය.

ගැටලුව වන්නේ (jQuery 1.6):

පරිශීලකයෙකු පිරික්සුම් කොටුවක් මත ක්ලික් කළ පසු, එම පිරික්සුම් කොටුව “පරීක්ෂා කළ” ගුණාංග වෙනස්වීම් වලට ප්‍රතිචාර දැක්වීම නතර කරයි.

යමෙකු පිරික්සුම් කොටුව ක්ලික් කිරීමෙන් පසුව එම කාර්යය කිරීමට අපොහොසත් වීම සඳහා චෙක්බොක්ස් ගුණාංගයේ උදාහරණයක් මෙන්න (මෙය ක්‍රෝම් හි සිදු වේ).

ෆෙඩෙල්

විසඳුම:

DOM මූලද්‍රව්‍ය මත ජාවාස්ක්‍රිප්ට් හි "පරීක්ෂා කරන ලද" දේපල භාවිතා කිරීමෙන්, අපට අවශ්‍ය දේ කිරීමට DOM හසුරුවා ගැනීමට උත්සාහ කරනවා වෙනුවට ගැටලුව කෙලින්ම විසඳා ගත හැකිය .

ෆෙඩෙල්

මෙම ප්ලගිනය jQuery විසින් තෝරාගත් ඕනෑම මූලද්‍රව්‍යයක පරීක්ෂා කළ දේපල වෙනස් කරනු ඇති අතර, සියලු තත්වයන් යටතේ පිරික්සුම් කොටු සාර්ථකව පරීක්ෂා කර පරීක්ෂා කරන්න. එබැවින්, මෙය අධික ලෙස දරාගත හැකි විසඳුමක් සේ පෙනුනද, එය ඔබේ වෙබ් අඩවියේ පරිශීලක අත්දැකීම් වඩා හොඳ කරවන අතර පරිශීලක බලාපොරොත්තු සුන්වීම වළක්වා ගැනීමට උපකාරී වේ.

(function( $ ) {
    $.fn.checked = function(value) {
        if(value === true || value === false) {
            // Set the value of the checkbox
            $(this).each(function(){ this.checked = value; });
        } 
        else if(value === undefined || value === 'toggle') {
            // Toggle the checkbox
            $(this).each(function(){ this.checked = !this.checked; });
        }

        return this;
    };
})( jQuery );

විකල්පයක් ලෙස, ඔබට ප්ලගිනයක් භාවිතා කිරීමට අවශ්‍ය නැතිනම්, ඔබට පහත කේත ස්නිපෙට් භාවිතා කළ හැකිය:

// Check
$(':checkbox').prop('checked', true);

// Un-check
$(':checkbox').prop('checked', false);

// Toggle
$(':checkbox').prop('checked', function (i, value) {
    return !value;
});

5
ඔබේ පළමු JSFiddle උදාහරණයක් දී ඔබ භාවිතා කළ යුතු removeAttr('checked')වඩාattr('checked', false)
දානියෙල් X මුවර්

4
An ඩැනියෙල්එක්ස්මූර්, ඔබ ගැටලුව මඟහරවා ගන්නවා. උදාහරණය නම්, පරිශීලකයා විසින් පිරික්සුම් කොටුව ක්ලික් කළ පසු, බ්‍රව්සරය වෙනස් කිරීමට භාවිතා කරන ක්‍රමවේදය නොසලකාchecked , ආරෝපණ වෙනස්කම් වලට තවදුරටත් ප්‍රතිචාර නොදක්වන බව පෙන්වීමයි .
cwharris

3
H ක්‍රිස්ටෝපර් හැරිස් හරි, ඔයා හරි, මට ඒක මඟ හැරුණා. JQuery 1.6 වන විට ඔබ .prop ක්‍රමය භාවිතා කළ යුතු නොවේද? $('.myCheckBox').prop('checked', true)එමඟින් එය සම්පුර්ණයෙන්ම ගැලපෙන මූලද්‍රව්‍ය සමූහයට ස්වයංක්‍රීයව අදාළ වේ (සැකසීමේදී පමණක් ලබා ගැනීම තවමත් පළමු වැන්න පමණි)
ඩැනියෙල් එක්ස් මුවර්

ඔව්. propයනු මූලද්‍රව්‍යයක් මත ගුණාංග සැකසීමට සුදුසුම ක්‍රමයයි.
cwharris

H ක්‍රිස්ටෝපර් හැරිස්, පරාමිති නම්යශීලීභාවයට ඉඩ දීම සඳහා මම ප්ලගිනයට අවශ්‍ය දේ එකතු කර ඇත්තෙමි. මෙය වර්ගය පරිවර්තනයකින් තොරව පේළිගත කිරීම පහසු කරයි. “සත්‍ය” යනු කුමක්ද යන්න පිළිබඳ 'අදහස්' සහිත අසමාන දත්ත සමුදායන්ගෙන් එස්.පී. Fiddle: jsfiddle.net/Cyberjetx/vcp96
ජෝ ජොන්ස්ටන්

147

ඔබට කළ හැකිය

$('.myCheckbox').attr('checked',true) //Standards compliant

හෝ

$("form #mycheckbox").attr('checked', true)

ඔබට වෙඩි තැබීමට අවශ්‍ය පිරික්සුම් කොටුව සඳහා ඔන්ක්ලික් සිද්ධියේ අභිරුචි කේතයක් තිබේ නම්, ඒ වෙනුවට මෙය භාවිතා කරන්න:

$("#mycheckbox").click();

ගුණාංගය මුළුමනින්ම ඉවත් කිරීමෙන් ඔබට පරීක්ෂා කළ නොහැක:

$('.myCheckbox').removeAttr('checked')

ඔබට මේ වගේ සියලුම පිරික්සුම් කොටු පරීක්ෂා කළ හැකිය:

$(".myCheckbox").each(function(){
    $("#mycheckbox").click()
});

ඔබට go ("# myTable ආදානය: පිරික්සුම් කොටුව") ද යා හැකිය. එක් එක් (...);
ක්‍රිස් බ්‍රෑන්ඩ්ස්මා

ඔබටත් යා හැකිය$(".myCheckbox").click()
රොබට් පිට්

3
Ic මිචා විසින් පරීක්ෂා කරන ලද ගුණාංගය ඉවත් කිරීමෙන් පෝරමය නැවත සැකසිය නොහැක
mcgrailm

12
මෙම පිළිතුර යල්පැන ඇති බැවින් එය .attrවෙනුවට භාවිතා කරයි .prop.
බ්ලේස්මොන්ගර්

$("#mycheckbox").click();මමත් වෙනස් අවස්ථාවට සවන් දෙමින් ලෙස මට සේවය හා .attrසහ .propගිනි වෙනස් අවස්ථාවට නැත.
දමෝදර් බෂියාල්

80

ඔබට නව ක්‍රම සමඟ $ .fn වස්තුව දිගු කළ හැකිය:

(function($)  {
   $.fn.extend({
      check : function()  {
         return this.filter(":radio, :checkbox").attr("checked", true);
      },
      uncheck : function()  {
         return this.filter(":radio, :checkbox").removeAttr("checked");
      }
   });
}(jQuery));

එවිට ඔබට කළ හැක්කේ:

$(":checkbox").check();
$(":checkbox").uncheck();

නැතහොත් ඔබ එම නම් භාවිතා කරන වෙනත් පුස්තකාලයක් භාවිතා කරන්නේ නම් ඔවුන්ට mycheck () සහ myuncheck () වැනි සුවිශේෂී නම් ලබා දීමට ඔබට අවශ්‍ය විය හැකිය.


5
@ livfree75 පරීක්ෂා කළ ගුණාංගය ඉවත් කිරීමෙන් පෝරමය නැවත සැකසිය නොහැක
mcgrailm

5
මෙම පිළිතුර යල්පැන ඇති බැවින් එය .attrවෙනුවට භාවිතා කරයි .prop.
බ්ලේස්මොන්ගර්

64
$("#mycheckbox")[0].checked = true;
$("#mycheckbox").attr('checked', true);
$("#mycheckbox").click();

අන්තිම එක පිරික්සුම් කොටුව සඳහා ක්ලික් කිරීමේ සිදුවීම වෙඩි තබයි, අනෙක් ඒවා එසේ නොවේ. එබැවින් ඔබට වෙඩි තැබීමට අවශ්‍ය පිරික්සුම් කොටුව සඳහා ඔන්ක්ලික් සිද්ධියේ අභිරුචි කේතයක් තිබේ නම්, අන්තිම එක භාවිතා කරන්න.


4
ඉහළම එක අසමත් වනු ඇත ... පරීක්ෂා කිරීම jquery වස්තු සාමාජිකයෙකු නොවේ
redsquare

5
මෙම පිළිතුර යල්පැන ඇති බැවින් එය .attrවෙනුවට භාවිතා කරයි .prop.
බ්ලේස්මොන්ගර්

IMO clickසිද්ධිය ෆයර්ෆොක්ස් සහ එජ් හි විශ්වාස කළ නොහැකි ය.
වහීඩ් අමිරි

62

පිරික්සුම් කොටුවක් පරීක්ෂා කිරීමට ඔබ භාවිතා කළ යුතුය

 $('.myCheckbox').attr('checked',true);

හෝ

 $('.myCheckbox').attr('checked','checked');

චෙක් පෙට්ටියක් සලකුණු නොකිරීමට ඔබ එය සැමවිටම අසත්‍ය ලෙස සැකසිය යුතුය:

 $('.myCheckbox').attr('checked',false);

ඔබ එසේ කරන්නේ නම්

  $('.myCheckbox').removeAttr('checked')

එමඟින් ගුණාංගය සියල්ල ඉවත් කරයි, එබැවින් ඔබට පෝරමය නැවත සැකසීමට නොහැකි වනු ඇත.

BAD DEMO jQuery 1.6 . මම හිතන්නේ මේක කැඩිලා. 1.6 සඳහා මම ඒ පිළිබඳව නව ලිපියක් ඉදිරිපත් කිරීමට යන්නෙමි.

නව වැඩ කිරීමේ ඩෙමෝ jQuery 1.5.2 ක්‍රෝම් හි ක්‍රියා කරයි.

නිරූපණ දෙකම භාවිතා කරයි

$('#tc').click(function() {
    if ( $('#myCheckbox').attr('checked')) {
        $('#myCheckbox').attr('checked', false);
    } else {
        $('#myCheckbox').attr('checked', 'checked');
    }
});

1
මෙය සාවද්‍ය ය. අනතුරුව, '' ද යන්න විශේෂණය 'පරීක්ෂා' සකසා නොමැති අවම වශයෙන් ක්රෝමියම් ඊලගට චෙක්පත පෙට්ටි.
cwharris

ixixonia jquery ඇතුළත් කිරීමට ඔබ වම් පස මෙනුව වෙනස් නොකළ නිසා ඔබේ ෆෙඩල් එක පළ කිරීමට පෙර මම පරීක්‍ෂා කළෙමි
mcgrailm

1
mcgralim - 1.6 දී එය ඊටත් වඩා පහසුයි .... $(".mycheckbox").prop("checked", true/false)
gnarf

2
Ark මාක් අමරි ඔබ සඳහන් කළේ මගේ පෝස්ට් පෝස්ට් කරන අවස්ථාවේ කිසිවක් එකතු නොකළ නමුත් එය නිවැරදි බවය. ඔබ පිළිගත් පිළිතුරේ ඉතිහාසය දෙස බැලුවහොත් ඔවුන් මූලද්‍රව්‍යය ඉවත් කිරීමට යෝජනා කරයි. එමඟින් පෝරමය නැවත සැකසීමට නොහැකි වන අතර, ඒ නිසා මා ආරම්භ කළේ පළ කිරීමෙනි.
mcgrailm

1
cmcgrailm ඔබගේ අදහස් අනුව මම ඉදිරියට ගොස් පිළිගත් පිළිතුර වෙනස් කර ඇත්තෙමි. ඔබ එය දෙස විමසිල්ලෙන් බලා එය වර්තමාන තත්වයට වඩා හොඳ දැයි බැලීමට කැමති නම්, මම එය අගය කරමි. අවම වශයෙන් අර්ධ වශයෙන් දැඩි ලෙස නොමඟ යවන ලද තියුණු විවේචන ඉදිරිපත් කිරීම ගැන නැවතත් මාගේ සමාව අයදිමි.
මාර්ක් අමරි

51

මෙය ලබා දී ඇති උපස්ථරය "ckbItem" අඩංගු අගයක් සහිත නිශ්චිත ගුණාංගයක් ඇති මූලද්‍රව්‍ය තෝරා ගනී:

$('input[name *= ckbItem]').prop('checked', true);

එය එහි නම ගුණාංගයේ ckbItem අඩංගු සියලුම අංග තෝරා ගනු ඇත.


46

ප්‍රශ්නය යැයි උපකල්පනය කරමින් ...

VALUE මඟින් පිරික්සුම් කොටුවක් පරීක්ෂා කරන්නේ කෙසේද ?

සාමාන්‍ය පිරික්සුම් කොටුවක, සියලු ආදාන ටැගයන්ට එකම නමක් ඇති බව මතක තබා ගන්න, ඒවා ගුණාංගයෙන් වෙනස් වේvalue : කට්ටලයේ එක් එක් ආදානය සඳහා හැඳුනුම්පතක් නොමැත.

පහත දැක්වෙන කේත රේඛාව භාවිතා කරමින් වඩාත් නිශ්චිත තේරීම් කාරකයක් සමඟ ෂියාන්ගේ පිළිතුර දිගු කළ හැකිය :

$("input.myclass[name='myname'][value='the_value']").prop("checked", true);

45

මට විසඳුම මග හැරී ඇත. මම සැමවිටම භාවිතා කරමි:

if ($('#myCheckBox:checked').val() !== undefined)
{
    //Checked
}
else
{
    //Not checked
}

3
මෙය ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත (ප්‍රශ්නය වන්නේ පිරික්සුම් කොටුවක් සලකුණු කර ඇත්ද යන්න සැකසීම මිස පිරික්සුම් කොටුවක් සලකුණු කර තිබේද යන්න තීරණය නොකිරීමයි). එය පිරික්සුම් කොටුව සලකුණු කර ඇත්දැයි තීරණය කිරීමේ ඉතා අවලස්සන ක්‍රමයකි (එක් දෙයක් නම්, ඔබ ස්වයංපෝෂිත නොවන කාරණය ගසාකමින්, මූලද්‍රව්‍ය 0 ක් ඇමතූ විට .val()සෑම විටම නැවත පැමිණෙනු ඇත undefined. .lengthඒ වෙනුවට එය පරික්ෂා කරන්න ) - වඩාත් කියවිය හැකි ප්‍රවේශයන් සඳහා stackoverflow.com/questions/901712/… බලන්න .
මාර්ක් අමරි

42

JQuery 1.6 හෝ ඊට වැඩි භාවිතා කර පිරික්සුම් කොටුවක් පරීක්ෂා කිරීම සඳහා මෙය කරන්න:

checkbox.prop('checked', true);

පරීක්ෂා කිරීමට, භාවිතා කරන්න:

checkbox.prop('checked', false);

JQuery භාවිතයෙන් පිරික්සුම් කොටුවක් ටොගල කිරීමට මම භාවිතා කිරීමට කැමති දේ මෙන්න:

checkbox.prop('checked', !checkbox.prop('checked'));

ඔබ jQuery 1.5 හෝ ඊට අඩු භාවිතා කරන්නේ නම් :

checkbox.attr('checked', true);

පරීක්ෂා කිරීමට, භාවිතා කරන්න:

checkbox.attr('checked', false);

37

JQuery නොමැතිව එය කළ හැකි ක්‍රමයක් මෙන්න

function addOrAttachListener(el, type, listener, useCapture) {
  if (el.addEventListener) {
    el.addEventListener(type, listener, useCapture);
  } else if (el.attachEvent) {
    el.attachEvent("on" + type, listener);
  }
};

addOrAttachListener(window, "load", function() {
  var cbElem = document.getElementById("cb");
  var rcbElem = document.getElementById("rcb");
  addOrAttachListener(cbElem, "click", function() {
    rcbElem.checked = cbElem.checked;
  }, false);
}, false);
<label>Click Me!
  <input id="cb" type="checkbox" />
</label>
<label>Reflection:
  <input id="rcb" type="checkbox" />
</label>


31

බොත්තමක් සමඟ පරීක්ෂා කර පරීක්ෂා නොකිරීම සඳහා කේතය මෙන්න:

var set=1;
var unset=0;
jQuery( function() {
    $( '.checkAll' ).live('click', function() {
        $( '.cb-element' ).each(function () {
            if(set==1){ $( '.cb-element' ).attr('checked', true) unset=0; }
            if(set==0){ $( '.cb-element' ).attr('checked', false); unset=1; }
        });
        set=unset;
    });
});

යාවත්කාලීන කිරීම: අළුත් Jquery 1.6+ මුක්කු ක්‍රමය භාවිතා කරන එකම කේත වාරණය මෙන්න, එය attr වෙනුවට:

var set=1;
var unset=0;
jQuery( function() {
    $( '.checkAll' ).live('click', function() {
        $( '.cb-element' ).each(function () {
            if(set==1){ $( '.cb-element' ).prop('checked', true) unset=0; }
            if(set==0){ $( '.cb-element' ).prop('checked', false); unset=1; }
        });
        set=unset;
    });
});

4
මෙම පිළිතුර යල්පැන ඇති බැවින් එය .attrවෙනුවට භාවිතා කරයි .prop.
බ්ලේස්මොන්ගර්

30

මේක උත්සාහ කරන්න:

$('#checkboxid').get(0).checked = true;  //For checking

$('#checkboxid').get(0).checked = false; //For unchecking

29

elementObjectගුණාංගය පරීක්ෂා කිරීම සඳහා අපට jQuery සමඟ භාවිතා කළ හැකිය :

$(objectElement).attr('checked');

කිසිදු දෝෂයකින් තොරව අපට මෙය සියලු jQuery අනුවාද සඳහා භාවිතා කළ හැකිය.

යාවත්කාලීන කිරීම: Jquery 1.6+ හි නව මුක්කු ක්‍රමය ඇත, එය attr වෙනුවට ආදේශ කරයි, උදා:

$(objectElement).prop('checked');

2
මෙම පිළිතුර යල්පැන ඇති බැවින් එය .attrවෙනුවට භාවිතා කරයි .prop.
බ්ලේස්මොන්ගර්

25

ඔබ යෙදුම් සංවර්ධනය කරමින් PhoneGap භාවිතා කරන්නේ නම් සහ ඔබට ක්ෂණිකව පෙන්වීමට අවශ්‍ය බොත්තමෙහි වටිනාකමක් තිබේ නම්, මෙය කිරීමට මතක තබා ගන්න

$('span.ui-[controlname]',$('[id]')).text("the value");

පරතරය නොමැතිව, ඔබ කුමක් කළත් අතුරු මුහුණත යාවත්කාලීන නොවන බව මට පෙනී ගියේය.


25

බහුවිධ පිරික්සුම් කොටු පරීක්ෂා කරන්නේ කෙසේද යන්න පිළිබඳ කේතය සහ නිරූපණය මෙන්න ...

http://jsfiddle.net/tamilmani/z8TTt/

$("#check").on("click", function () {

    var chk = document.getElementById('check').checked;
    var arr = document.getElementsByTagName("input");

    if (chk) {
        for (var i in arr) {
            if (arr[i].name == 'check') arr[i].checked = true;
        }
    } else {
        for (var i in arr) {
            if (arr[i].name == 'check') arr[i].checked = false;
        }
    }
});

- 1; $("#check")අමු DOM API ඇමතුම් වැනි jQuery තේරීම් මිශ්‍ර document.getElementsByTagName("input")කිරීම මට නුසුදුසු යැයි පෙනේ, විශේෂයෙන් forමෙහි ඇති ලූප භාවිතා කිරීමෙන් වළක්වා ගත හැකිය .prop(). කෙසේ වෙතත්, මෙය අලුත් දෙයක් එකතු නොකරන තවත් ප්‍රමාද පිළිතුරකි.
මාර්ක් අමරි


19

@ Livefree75 පැවසූ පරිදි:

jQuery 1.5.x සහ ඊට පහළ

ඔබට නව ක්‍රම සමඟ $ .fn වස්තුව දිගු කළ හැකිය:

(function($)  {
   $.fn.extend({
      check : function()  {
         return this.filter(":radio, :checkbox").attr("checked", true);
      },
      uncheck : function()  {
         return this.filter(":radio, :checkbox").removeAttr("checked");
      }
   });
}(jQuery));

නමුත් jQuery හි නව සංස්කරණ වලදී, අපට මෙවැනි දෙයක් භාවිතා කිරීමට සිදුවේ:

jQuery 1.6+

    (function($)  {
       $.fn.extend({
          check : function()  {
             return this.filter(":radio, :checkbox").prop("checked", true);
          },
          uncheck : function()  {
             return this.filter(":radio, :checkbox").prop("checked",false);
          }
       });
    }(jQuery));

එවිට ඔබට කළ හැක්කේ:

    $(":checkbox").check();
    $(":checkbox").uncheck();

18

ජංගම දුරකථනය භාවිතා කරන්නේ නම් සහ අතුරු මුහුණත යාවත්කාලීන කර පිරික්සුම් කොටුව සලකුණු නොකළ ලෙස පෙන්වීමට ඔබට අවශ්‍ය නම්, පහත සඳහන් දෑ භාවිතා කරන්න:

$("#checkbox1").prop('checked', false).checkboxradio("refresh");

18

ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 9 ට පෙර ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් හි මතක කාන්දුවීම් පිළිබඳව සැලකිලිමත් වන්න , jQuery ප්‍රලේඛනයේ සඳහන් පරිදි :

9 වන අනුවාදයට පෙර ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් හි .prop () භාවිතා කිරීමෙන් සරල ප්‍රාථමික වටිනාකමක් (අංක, නූල් හෝ බූලියන්) හැර වෙනත් ඕනෑම දෙයකට DOM මූලද්‍රව්‍ය දේපලක් සැකසීමට දේපල ඉවත් නොකෙරේ නම් මතක කාන්දු විය හැක (.removeProp භාවිතා කරමින්) )) ලේඛනයෙන් DOM මූලද්‍රව්‍යය ඉවත් කිරීමට පෙර. මතක කාන්දු වීමකින් තොරව DOM වස්තු වල අගයන් ආරක්ෂිතව සැකසීමට, .data () භාවිතා කරන්න.


2
සියලුම (නිවැරදි) පිළිතුරු භාවිතා කරන බැවින් මෙය අදාල නොවේ .prop('checked',true).
බ්ලේස්මොන්ගර්

ඔබගේ අදහස මා තේරුම් ගත් බව විශ්වාස නැත. මෙය තවමත් jQuery ප්‍රලේඛනයේ පවතී. IE <9 හි මතක කාන්දුවක් නොමැති බව ඔබ අඟවනවාද?
naor

2
අපි පටන් එහි, මේ අවස්ථාවේ දී කිසිදු මතක කාන්දුවක් වේ වේ සරල ප්රාථමික අගය (බූලීය) වෙත එය පිහිටුවීම.
බ්ලේස්මොන්ගර්

18

JQuery 1.6+ සඳහා

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

JQuery 1.5.x සහ ඊට පහළින්

$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);

පරීක්ෂා කිරීමට,

$('.myCheckbox').removeAttr('checked');

17

පරීක්ෂා කිරීමට සහ පරීක්ෂා කිරීමට

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

3
- 1; මෙය දැනටමත් පුපුරා ගිය නූල් එකකට කිසිදු වටිනාකමක් එක් නොකරයි. මෙහි කේතය පිළිගත් පිළිතුරට සමාන වේ.
අමරි

16
$('controlCheckBox').click(function(){
    var temp = $(this).prop('checked');
    $('controlledCheckBoxes').prop('checked', temp);
});

4
- 1 කේත-පමණක් පිළිතුරක් වීම, ප්‍රශ්නයට කෙලින්ම පිළිතුරු නොදීම සහ වෙනත් පිළිතුරු දැනටමත් ආවරණය කර නොමැති කිසිවක් එකතු කිරීම.
මාර්ක් අමරි

15

මෙය බොහෝ විට කෙටිම හා පහසුම විසඳුම වේ:

$(".myCheckBox")[0].checked = true;

හෝ

$(".myCheckBox")[0].checked = false;

ඊටත් වඩා කෙටි වනු ඇත්තේ:

$(".myCheckBox")[0].checked = !0;
$(".myCheckBox")[0].checked = !1;

මෙතන ඇති jsFiddle මෙන්ම.


14

සරල ජාවාස්ක්‍රිප්ට් ඉතා සරල හා ඉහළින් අඩු ය:

var elements = document.getElementsByClassName('myCheckBox');
for(var i = 0; i < elements.length; i++)
{
    elements[i].checked = true;
}

මෙහි උදාහරණය


ArkMarkAmery පිළිගත් පිළිතුර jQuery නොමැතිව එය කරන්නේ කෙසේද යන්න ආවරණය නොකරයි. මගේ පිළිතුර පිළිගත් පිළිතුරට අතිරේක ප්‍රතිලාභයක් එක් කරයි.
ඇලෙක්ස් ඩබ්

13

මට එය භාවිතයෙන් වැඩ කිරීමට නොහැකි විය:

$("#cb").prop('checked', 'true');
$("#cb").prop('checked', 'false');

සත්‍ය සහ අසත්‍ය යන දෙකම පිරික්සුම් කොටුව පරීක්ෂා කරනු ඇත. මට වැඩ කළේ:

$("#cb").prop('checked', 'true'); // For checking
$("#cb").prop('checked', '');     // For unchecking

16
එය විය යුතු නොවේ truefalseනොව 'true'හා 'false'?
tpower

9
එය, "වැඩ කටයුතු කළේ නැත" නිසා 'false'ප්රතිඵලය වීජ අගය බවට පරිවර්තනය විය true- හිස් අගයක් ඇගයීමට කිරීමට falseමේ අනුව "වැඩ". මා අදහස් කරන දේට උදාහරණයක් ලෙස මෙම ෆෙඩලය බලන්න .
සෙවනැලි විශාරද ඔබට කන් වේ

@ chris97ong මම ඔබේ සංස්කරණය පෙරළා දැමුවෙමි; කෙනෙක්, "එය වැඩ නැති නිසා දෝ පහත කේතය භාවිතා නොකරන" කියන විට සවි එය වැඩ හානිකර වේ නොවන බව පවසමින් එම ප්රකාශය දක්වන අතර ඒ කේතය - එය අදහස් පැහැදිලි වැටෙයි විශේෂයෙන්ම ඇයි කේතය නොදක්වයි වැඩ කරන්නේ නැහැ. එයින් කියැවෙන්නේ, මෙම පිළිතුර තවමත් තරමක් ව්‍යාකූල වී ඇති අතර, tpower සහ ShadowWizard විසින් දෙන ලද හේතුන් සඳහා පහත වැටීමක් ලැබිය යුතුය.
මාර්ක් අමරි

1
බූලියන් සඳහා සත්‍ය සහ අසත්‍ය අගයන් භාවිතා කරන්න, 'සත්‍ය' හෝ 'අසත්‍ය' (නූල්) භාවිතා නොකරන්න.
ජෝන් පොල්වෝරා

13

ඔබ වැනි පිරික්සුම් කොටුවක් පරීක්ෂා කළ විට;

$('.className').attr('checked', 'checked')

එය ප්‍රමාණවත් නොවනු ඇත. ඔබ පහත ශ්‍රිතය අමතන්න;

$('.className').prop('checked', 'true')

විශේෂයෙන් ඔබ පිරික්සුම් කොටුව පරීක්ෂා කළ ගුණාංගය ඉවත් කළ විට.


11

මෙන්න jQuery භාවිතා කර සම්පූර්ණ පිළිතුර

මම එය පරීක්ෂා කර එය 100% ක් ක්‍රියා කරයි: D.

    // when the button (select_unit_button) is clicked it returns all the checed checkboxes values 
    $("#select_unit_button").on("click", function(e){

             var arr = [];

             $(':checkbox:checked').each(function(i){
                 arr[i] = $(this).val(); // u can get id or anything else
             });

              //console.log(arr); // u can test it using this in google chrome
    });

10

JQuery හි,

if($("#checkboxId").is(':checked')){
    alert("Checked");
}

හෝ

if($("#checkboxId").attr('checked')==true){
    alert("Checked");
}

ජාවාස්ක්‍රිප්ට් හි,

if (document.getElementById("checkboxID").checked){
    alert("Checked");
}

7
මෙය ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත.
සැමුවෙල් ලිව්

2
මෙම පිළිතුර යල්පැන ඇති බැවින් එය .attrවෙනුවට භාවිතා කරයි .prop.
බ්ලේස්මොන්ගර්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.