আমি jQuerycheckbox
ব্যবহার করে টিক দিতে এই জাতীয় কিছু করতে চাই :
$(".myCheckBox").checked(true);
অথবা
$(".myCheckBox").selected(true);
এ জাতীয় কি কোন অস্তিত্ব আছে?
$("#mycheckbox").click();
আমি jQuerycheckbox
ব্যবহার করে টিক দিতে এই জাতীয় কিছু করতে চাই :
$(".myCheckBox").checked(true);
অথবা
$(".myCheckBox").selected(true);
এ জাতীয় কি কোন অস্তিত্ব আছে?
$("#mycheckbox").click();
উত্তর:
ব্যবহার .prop()
:
$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);
আপনি যদি কেবল একটি উপাদান নিয়ে কাজ করছেন তবে আপনি সর্বদা কেবল অন্তর্নিহিত অ্যাক্সেস করতে HTMLInputElement
এবং এর .checked
সম্পত্তিটি পরিবর্তন করতে পারেন :
$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;
এর পরিবর্তে .prop()
এবং .attr()
পদ্ধতিগুলি ব্যবহার করার সুবিধা হ'ল তারা সমস্ত মিলিত উপাদানগুলিতে কাজ করবে।
.prop()
পদ্ধতি যাতে আপনি ব্যবহার করতে হবে, পাওয়া যায় না .attr()
।
$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);
নোট করুন যে সংস্করণ ১. prior এর পূর্বে jQuery এর ইউনিট পরীক্ষাগুলি দ্বারা ব্যবহৃত এ পদ্ধতিটি এবং পরে থাকা উইলটি ব্যবহার করা ভাল $('.myCheckbox').removeAttr('checked');
, যদি বাক্সটি প্রাথমিকভাবে পরীক্ষা করা .reset()
হয় তবে এতে যে কোনও ফর্মের সাথে একটি কলটির আচরণ পরিবর্তন করুন - একটি সূক্ষ্ম তবে সম্ভবত অবাঞ্ছিত আচরণ পরিবর্তন।
আরও প্রসঙ্গে, checked
1.5.x থেকে 1.6 এ রূপান্তরটিতে বৈশিষ্ট্য / সম্পত্তি হ্যান্ডলিংয়ের পরিবর্তনের কিছুটা অসম্পূর্ণ আলোচনার সংস্করণ 1.6 প্রকাশের নোট এবং বৈশিষ্ট্য বনাম .prop()
ডকুমেন্টেশনের বৈশিষ্ট্য বিভাগে পাওয়া যাবে ।
DOMElement.checked = true
"। তবে এটি উপেক্ষিত হবে, কারণ এটি কেবলমাত্র একটি উপাদান ...
$(element).prop('checked')
টাইপিংয়ের সম্পূর্ণ অপচয় waste element.checked
উপস্থিত রয়েছে এবং আপনার ইতিমধ্যে যে ক্ষেত্রে রয়েছে সেগুলি ব্যবহার করা উচিতelement
ব্যবহার করুন:
$(".myCheckbox").attr('checked', true); // Deprecated
$(".myCheckbox").prop('checked', true);
এবং আপনি যদি চেকবক্সটি চেক করা হয় কিনা তা পরীক্ষা করতে চান:
$('.myCheckbox').is(':checked');
যেমন ক্রস-প্ল্যাটফর্ম মান, এবং এই, চেক এবং jQuery সঙ্গে চেকবাক্সগুলি নির্বাচন সরিয়ে সঠিক পথ হবে ফর্ম reposts অনুমতি দেয়।
$('.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;
});
removeAttr('checked')
নয়, বরংattr('checked', false)
checked
পরিবর্তনের জন্য ব্যবহৃত পদ্ধতি নির্বিশেষে ব্রাউজারটি আরবিট পরিবর্তনগুলিতে আর সাড়া দেয় না ।
$('.myCheckBox').prop('checked', true)
এইভাবে এটি মেলানো উপাদানগুলির পুরো সেটটিতে স্বয়ংক্রিয়ভাবে প্রযোজ্য হবে (কেবল সেট করার সময়, প্রাপ্তি এখনও কেবল প্রথম হয়)
prop
অবশ্যই কোনও উপাদানটিতে বৈশিষ্ট্য নির্ধারণের উপযুক্ত উপায়।
আপনি করতে পারেন
$('.myCheckbox').attr('checked',true) //Standards compliant
অথবা
$("form #mycheckbox").attr('checked', true)
আপনি যে চেকবক্সটি চালিত করতে চান তার অনক্লিক ইভেন্টে যদি আপনার কাস্টম কোড থাকে তবে পরিবর্তে এটি ব্যবহার করুন:
$("#mycheckbox").click();
আপনি পুরোপুরি বৈশিষ্ট্যটি মুছে ফেলা থেকে নির্বাচন করতে পারেন:
$('.myCheckbox').removeAttr('checked')
আপনি এই জাতীয় সমস্ত চেকবাক্স চেক করতে পারেন:
$(".myCheckbox").each(function(){
$("#mycheckbox").click()
});
$(".myCheckbox").click()
.attr
পরিবর্তে ব্যবহার করে .prop
।
$("#mycheckbox").click();
আমার পক্ষে কাজ করছিল কারণ আমিও ঘটনা পরিবর্তন করতে শোনছিলাম এবং .attr
& .prop
ঘটনা পরিবর্তন হয়নি।
আপনি নতুন পদ্ধতিতে $ .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();
অথবা আপনি যদি এই নামগুলি ব্যবহার করে এমন কোনও অন্য লাইব্রেরি ব্যবহার করেন তবে আপনি তাদের আরও অনন্য নাম যেমন মাইচেক () এবং মুনচেক () দিতে পারেন।
.attr
পরিবর্তে ব্যবহার করে .prop
।
$("#mycheckbox")[0].checked = true;
$("#mycheckbox").attr('checked', true);
$("#mycheckbox").click();
শেষটি চেকবক্সের জন্য ক্লিক ইভেন্টটিকে চালিত করবে, অন্যরা তা করবে না। সুতরাং যে চেকবক্সটি আপনি চালিত করতে চান তার অনক্লিক ইভেন্টে যদি আপনার কাস্টম কোড থাকে তবে শেষটিটি ব্যবহার করুন।
.attr
পরিবর্তে ব্যবহার করে .prop
।
click
ইভেন্টটি ফায়ারফক্স এবং এজতে বিশ্বাসযোগ্য নয়।
একটি চেকবক্স চেক করতে আপনার ব্যবহার করা উচিত
$('.myCheckbox').attr('checked',true);
অথবা
$('.myCheckbox').attr('checked','checked');
এবং একটি চেক বাক্সটি চেক করতে আপনার এটি সর্বদা মিথ্যাতে সেট করা উচিত:
$('.myCheckbox').attr('checked',false);
যদি তুমি করো
$('.myCheckbox').removeAttr('checked')
এটি সমস্ত একসাথে বৈশিষ্ট্যটিকে সরিয়ে দেয় এবং সুতরাং আপনি ফর্মটি পুনরায় সেট করতে সক্ষম হবেন না।
খারাপ ডেমো 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');
}
});
$(".mycheckbox").prop("checked", true/false)
ধরে নিচ্ছি যে প্রশ্নটি ...
মনে রাখবেন যে একটি সাধারণ চেকবাক্স সেটে সমস্ত ইনপুট ট্যাগের একই নাম থাকে, এগুলি বৈশিষ্ট্যের দ্বারা পৃথক হয়value
: সেটটির প্রতিটি ইনপুটের জন্য কোনও আইডি নেই।
নিচের কোডটির লাইনটি ব্যবহার করে আরও নির্দিষ্ট নির্বাচকের সাথে জিয়ানের উত্তর বাড়ানো যেতে পারে :
$("input.myclass[name='myname'][value='the_value']").prop("checked", true);
আমি সমাধানটি মিস করছি। আমি সর্বদা ব্যবহার করব:
if ($('#myCheckBox:checked').val() !== undefined)
{
//Checked
}
else
{
//Not checked
}
.val()
সর্বদা ফিরে আসবে) undefined
কেবল তার .length
পরিবর্তে এটি পরীক্ষা করুন) - আরও পঠনযোগ্য পদ্ধতির জন্য stackoverflow.com/questions/901712/… দেখুন।
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);
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>
এখানে একটি বোতাম দিয়ে চেক করা এবং চেক করা না থাকার কোড রয়েছে:
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+ প্রোপ পদ্ধতিটি ব্যবহার করে এখানে একই কোড ব্লক দেওয়া হয়েছে, যা অ্যাটরকে প্রতিস্থাপন করে:
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;
});
});
.attr
পরিবর্তে ব্যবহার করে .prop
।
elementObject
বৈশিষ্ট্যটি পরীক্ষা করার জন্য আমরা jQuery এর সাথে ব্যবহার করতে পারি :
$(objectElement).attr('checked');
আমরা এটি কোনও ত্রুটি ছাড়াই সমস্ত jQuery সংস্করণে ব্যবহার করতে পারি।
আপডেট: Jquery 1.6+ এর নতুন প্রপ পদ্ধতি রয়েছে যা অ্যাটরকে প্রতিস্থাপন করে, যেমন:
$(objectElement).prop('checked');
.attr
পরিবর্তে ব্যবহার করে .prop
।
আপনি যদি ফোনগ্যাপ অ্যাপ্লিকেশন বিকাশ করছে এবং আপনি যে বোতামটি তাত্ক্ষণিকভাবে দেখাতে চান তাতে আপনার একটি মান রয়েছে, তবে এটি করতে মনে রাখবেন
$('span.ui-[controlname]',$('[id]')).text("the value");
আমি খুঁজে পেয়েছি যে স্প্যান ব্যতীত ইন্টারফেসটি আপনি যা কিছু করেন তা আপডেট হবে না।
একাধিক চেক বাক্স কীভাবে চেক করা যায় তার জন্য এখানে কোড এবং ডেমো ...
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;
}
}
});
$("#check")
কাঁচা DOM এপিআই কলগুলির সাথে মেশানো document.getElementsByTagName("input")
আমার কাছে অসম্পূর্ণ বলে মনে হয়, বিশেষত প্রদত্ত যে এখানে for
লুপগুলি ব্যবহার করে এড়ানো যেতে পারে .prop()
। নির্বিশেষে এটি আরও দেরী উত্তর যা নতুন কিছু যুক্ত করে না।
আর একটি সম্ভাব্য সমাধান:
var c = $("#checkboxid");
if (c.is(":checked")) {
$('#checkboxid').prop('checked', false);
} else {
$('#checkboxid').prop('checked', true);
}
যেমন @ লাইভফ্রি 75 বলেছেন:
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();
যদি মোবাইল ব্যবহার করা হয় এবং আপনি যদি ইন্টারফেসটি চেকবক্সটি চেকবক্স হিসাবে আপডেট না করে আপডেট করতে চান এবং নিম্নলিখিতটি ব্যবহার করুন:
$("#checkbox1").prop('checked', false).checkboxradio("refresh");
ইন্টারনেট এক্সপ্লোরার 9 এর পূর্বে ইন্টারনেট এক্সপ্লোরারে মেমরি ফাঁসের বিষয়ে সচেতন থাকুন , যেমন jQuery ডকুমেন্টেশন বলে :
ইন্টারনেট এক্সপ্লোরারে 9 ম সংস্করণের পূর্বে .prop () ব্যবহার করে একটি সাধারণ আদিম মান (সংখ্যা, স্ট্রিং, বা বুলিয়ান) ব্যতীত অন্য কোনও কিছুতে DOM উপাদান বৈশিষ্ট্য সেট করতে যদি সম্পত্তি অপসারণ না করা হয় (.removeProp ব্যবহার করে) )) DOM উপাদানটি দস্তাবেজ থেকে সরানোর আগে। মেমরি ফাঁস ছাড়াই নিরাপদে DOM অবজেক্টে মান নির্ধারণ করতে .data () ব্যবহার করুন।
.prop('checked',true)
।
চেক এবং চেক করতে
$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);
$('controlCheckBox').click(function(){
var temp = $(this).prop('checked');
$('controlledCheckBoxes').prop('checked', temp);
});
এটি সম্ভবত সবচেয়ে সংক্ষিপ্ত এবং সহজ সমাধান:
$(".myCheckBox")[0].checked = true;
অথবা
$(".myCheckBox")[0].checked = false;
এমনকি ছোট হবে:
$(".myCheckBox")[0].checked = !0;
$(".myCheckBox")[0].checked = !1;
এখানে একটি জেএসফিডেলও রয়েছে।
সরল জাভাস্ক্রিপ্ট খুব সাধারণ এবং খুব কম ওভারহেড:
var elements = document.getElementsByClassName('myCheckBox');
for(var i = 0; i < elements.length; i++)
{
elements[i].checked = true;
}
আমি এটি ব্যবহার করে এটি পেতে পারি না:
$("#cb").prop('checked', 'true');
$("#cb").prop('checked', 'false');
সত্য এবং মিথ্যা উভয়ই চেকবক্সটি চেক করবে। আমার জন্য যা কাজ করেছিল তা হ'ল:
$("#cb").prop('checked', 'true'); // For checking
$("#cb").prop('checked', ''); // For unchecking
true
এবং false
এবং 'true'
এবং 'false'
?
'false'
বুলিয়ান মানতে রূপান্তরিত হয়েছিল যার ফলস্বরূপ true
- খালি স্ট্রিংকে এটি "কার্যকারী" হিসাবে মূল্যায়ন করে false
। আমি কী বোঝাতে চাইছি উদাহরণস্বরূপ এই কোলাহলটি দেখুন ।
আপনি যখন চেকবক্সটি চেক করেন;
$('.className').attr('checked', 'checked')
এটি যথেষ্ট নাও হতে পারে। আপনি নীচের ফাংশন কল করা উচিত;
$('.className').prop('checked', 'true')
বিশেষত যখন আপনি চেকবক্সের পরীক্ষিত বৈশিষ্ট্যটি সরিয়ে ফেলেন।
এখানে সম্পূর্ণ উত্তর jQuery ব্যবহার
আমি এটি পরীক্ষা করি এবং এটি 100% কাজ করে: ডি
// 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
});
JQuery এ,
if($("#checkboxId").is(':checked')){
alert("Checked");
}
অথবা
if($("#checkboxId").attr('checked')==true){
alert("Checked");
}
জাভাস্ক্রিপ্টে,
if (document.getElementById("checkboxID").checked){
alert("Checked");
}
.attr
পরিবর্তে ব্যবহার করে .prop
।