$input.disabled = true;
অথবা
$input.disabled = "disabled";
মানক কোনটি? এবং, বিপরীতে, আপনি কীভাবে অক্ষম ইনপুট সক্ষম করবেন?
$input.disabled = true;
অথবা
$input.disabled = "disabled";
মানক কোনটি? এবং, বিপরীতে, আপনি কীভাবে অক্ষম ইনপুট সক্ষম করবেন?
উত্তর:
disabled
সম্পত্তি পরিবর্তন করতে আপনার .prop()
ফাংশনটি ব্যবহার করা উচিত ।
$("input").prop('disabled', true);
$("input").prop('disabled', false);
.prop()
ফাংশন বিদ্যমান নয়, কিন্তু .attr()
অনুরূপ আছে:
অক্ষম বৈশিষ্ট্য সেট করুন।
$("input").attr('disabled','disabled');
আবার সক্ষম করতে, সঠিক পদ্ধতিটি ব্যবহার করা .removeAttr()
$("input").removeAttr('disabled');
আপনি সর্বদা আসল DOM অবজেক্টের উপর নির্ভর করতে পারেন এবং যদি আপনি কেবল একটি উপাদান নিয়ে কাজ করছেন তবে সম্ভবত অন্য দুটি বিকল্পের চেয়ে কিছুটা দ্রুত:
// assuming an event handler thus 'this'
this.disabled = true;
.prop()
বা .attr()
পদ্ধতিগুলি ব্যবহারের সুবিধা হ'ল আপনি একগুচ্ছ নির্বাচিত আইটেমের জন্য সম্পত্তি সেট করতে পারেন।
দ্রষ্টব্য: 1.6-তে একটি .removeProp()
পদ্ধতি রয়েছে যা প্রচুর মত শোনাচ্ছে removeAttr()
তবে ডকুমেন্টেশন থেকে উদ্ধৃত অংশের মতো নেটিভ সম্পত্তিগুলিতে এটি ব্যবহার করা উচিত নয়'disabled'
:
দ্রষ্টব্য: চেকড, অক্ষম করা বা নির্বাচিত মতো দেশীয় বৈশিষ্ট্য অপসারণ করতে এই পদ্ধতিটি ব্যবহার করবেন না। এটি সম্পত্তি পুরোপুরি সরিয়ে ফেলবে এবং একবার মুছে ফেলা হলে পুনরায় উপাদানটিতে যুক্ত করা যাবে না। পরিবর্তে এই বৈশিষ্ট্যগুলিকে সেট করতে .prop () ব্যবহার করুন।
প্রকৃতপক্ষে, আমি সন্দেহ করি যে এই পদ্ধতির অনেক বৈধ ব্যবহার রয়েছে, বুলিয়ান প্রপসগুলি এমনভাবে করা হয় যে আপনি তাদের "বৈশিষ্ট্য" সহকারীর মতো "মুছে ফেলার" পরিবর্তে তাদের মিথ্যাতে সেট করতে পারেন 1.5
':input'
না 'input'
। পরেরটি কেবল আসল <ইনপুট> উপাদান নির্বাচন করে।
input,textarea,select,button
চেয়ে কিছুটা বেশি ব্যবহার করা ভালো :input
- :input
একজন নির্বাচক যেমন যথেষ্ট অক্ষম কারণ এটি *
প্রতিটি উপাদানের উপর দিয়ে লুপটি নির্বাচন করতে হয় এবং ট্যাগ-নাম দ্বারা ফিল্টার করতে হয় - আপনি যদি 4 টি ট্যাগের নাম নির্বাচককে সরাসরি পাস করেন তবে এটি খুব দ্রুত। এছাড়াও, :input
কোনও স্ট্যান্ডার্ড সিএসএস নির্বাচক নয়, সুতরাং যে কোনও পারফরম্যান্স লাভগুলি যেগুলি সম্ভব querySelectorAll
তা
.removeProp("disabled")
@ থমাস ডেভিডব্যাকার দ্বারা নির্দেশিত হিসাবে ক্রোমের মতো কিছু ব্রাউজারের ক্ষেত্রে ফায়ারফক্সের মতো কিছু ক্ষেত্রে এটি ঠিকঠাকভাবে কাজ করছে বলে "সম্পত্তি সম্পূর্ণরূপে সরিয়ে ফেলা এবং পুনরায় যুক্ত না হওয়া" ইস্যুটি ব্যবহার করা হয়েছিল। আমাদের এখানে সত্যই যত্নবান হওয়া উচিত। সর্বদা .prop("disabled",false)
পরিবর্তে ব্যবহার করুন
কেবল নতুন কনভেনশনগুলির জন্য এবং & এটিকে সামঞ্জস্য করার যোগ্য করে এগিয়ে চলেছে (যদি না ইসিএমএ 6 এর সাথে বিষয়গুলি খুব দ্রুত বদলে যায় (????):
$(document).on('event_name', '#your_id', function() {
$(this).removeAttr('disabled');
});
এবং
$(document).off('event_name', '#your_id', function() {
$(this).attr('disabled','disabled');
});
$(document).on('event_name', '#your_id', function() {...})
পরিবর্তে কেন $('#your_id').on('event_name', function() {...})
। JQuery .on () ডকুমেন্টেশনে বর্ণিত হিসাবে প্রাক্তন প্রতিনিধিদল ব্যবহার করে এবং এমন সমস্ত event_name
ইভেন্ট শোনায় যা বুদবুদ হয়ে থাকে document
এবং একটি মিলের জন্য তাদের চেক করে #your_id
। পরবর্তীকর্ম কেবল $('#your_id')
ইভেন্টগুলিতে বিশেষভাবে শোনায় এবং এটি আরও ভাল স্কেল করে।
// Disable #x
$( "#x" ).prop( "disabled", true );
// Enable #x
$( "#x" ).prop( "disabled", false );
কখনও কখনও আপনাকে ইনপুট বা টেক্সারিয়ার মতো ফর্ম উপাদানটি অক্ষম / সক্ষম করতে হবে। জ্যাকিউরি আপনাকে "অক্ষম" -এর বৈশিষ্ট্যযুক্ত অক্ষম বৈশিষ্ট্যটি সহজেই এটি তৈরি করতে সহায়তা করে। যেমন:
//To disable
$('.someElement').attr('disabled', 'disabled');
অক্ষম উপাদান সক্ষম করতে আপনাকে এই উপাদান থেকে "অক্ষম" বৈশিষ্ট্যটি মুছে ফেলা বা এটির স্ট্রিং খালি করতে হবে। যেমন:
//To enable
$('.someElement').removeAttr('disabled');
// OR you can set attr to ""
$('.someElement').attr('disabled', '');
উল্লেখ করুন: http://garmoncheg.blogspot.fr/2011/07/how-to-disableenable-element-with.html
$("input")[0].disabled = true;
অথবা
$("input")[0].disabled = false;
আপনি আপনার কোডে এটি কোথাও বিশ্বব্যাপী রাখতে পারেন:
$.prototype.enable = function () {
$.each(this, function (index, el) {
$(el).removeAttr('disabled');
});
}
$.prototype.disable = function () {
$.each(this, function (index, el) {
$(el).attr('disabled', 'disabled');
});
}
এবং তারপরে আপনি এ জাতীয় জিনিস লিখতে পারেন:
$(".myInputs").enable();
$("#otherInput").disable();
prop
এবং না attr
সঙ্গে disabled
সম্পত্তি এটি সঠিকভাবে কাজ করার জন্য (উপরে jQuery এর 1.6 বা অভিমানী)।
attr
? আমি কিছু প্রকল্পে উপরের কোডটি ব্যবহার করি এবং যতদূর আমি মনে করি এটি ঠিক কাজ করে
checked
চেকবাক্সগুলির সম্পত্তি। ব্যবহার করা attr
একই ফলাফল দেয় না।
এগুলি ব্যবহার করার অনেকগুলি উপায় রয়েছে আপনি যে কোনও উপাদান সক্ষম / অক্ষম করতে পারবেন :
পদ্ধতির ঘ
$("#txtName").attr("disabled", true);
পদ্ধতির ঘ
$("#txtName").attr("disabled", "disabled");
আপনি যদি jQuery 1.7 বা উচ্চতর সংস্করণ ব্যবহার করে থাকেন তবে অ্যাট্রি () এর পরিবর্তে প্রোপ () ব্যবহার করুন।
$("#txtName").prop("disabled", "disabled");
আপনি যদি কোনও উপাদান সক্ষম করতে চান তবে এটি অক্ষম করতে আপনি যা করেছেন তার বিপরীতে আপনাকেই করতে হবে। তবে jQuery কোনও বৈশিষ্ট্য অপসারণ করার জন্য অন্য উপায় সরবরাহ করে।
পদ্ধতির ঘ
$("#txtName").attr("disabled", false);
পদ্ধতির ঘ
$("#txtName").attr("disabled", "");
পদ্ধতির ঘ
$("#txtName").removeAttr("disabled");
আবার আপনি যদি jQuery 1.7 বা উচ্চতর সংস্করণ ব্যবহার করেন তবে অ্যাটর () এর পরিবর্তে প্রোপ () ব্যবহার করুন। তা হ'ল এইভাবে আপনি jQuery ব্যবহার করে কোনও উপাদান সক্ষম বা অক্ষম করবেন।
2018 এর জন্য আপডেট:
এখন jQuery জন্য দরকার নেই এবং এটি একটি হয়েছে দিন হলো document.querySelector
বা document.querySelectorAll
(একাধিক উপাদানের জন্য) প্রায় হুবহু একই কাজ $, প্লাস অনেক বেশী সুনিদৃষ্ট বেশী হিসাবে getElementById
, getElementsByClassName
,getElementsByTagName
"ইনপুট-চেকবক্স" শ্রেণির একটি ক্ষেত্র অক্ষম করা হচ্ছে
document.querySelector('.input-checkbox').disabled = true;
বা একাধিক উপাদান
document.querySelectorAll('.input-checkbox').forEach(el => el.disabled = true);
আপনি ফর্ম উপাদান অক্ষম করতে বা সক্ষম করতে jQuery ব্যবহার করে গতিশীলভাবে নিয়ন্ত্রণ করতে jQuery প্রোপ () পদ্ধতিটি ব্যবহার করতে পারেন। প্রপ () পদ্ধতির জন্য jQuery 1.6 এবং তার বেশি প্রয়োজন।
উদাহরণ:
<script type="text/javascript">
$(document).ready(function(){
$('form input[type="submit"]').prop("disabled", true);
$(".agree").click(function(){
if($(this).prop("checked") == true){
$('form input[type="submit"]').prop("disabled", false);
}
else if($(this).prop("checked") == false){
$('form input[type="submit"]').prop("disabled", true);
}
});
});
</script>
অক্ষম করুন:
$('input').attr('readonly', true); // Disable it.
$('input').addClass('text-muted'); // Gray it out with bootstrap.
সক্ষম করুন:
$('input').attr('readonly', false); // Enable it.
$('input').removeClass('text-muted'); // Back to normal color with bootstrap.
ইনপুট প্রকারের জন্য সত্য অক্ষম করুন:
নির্দিষ্ট ইনপুট প্রকারের ক্ষেত্রে (উদাহরণস্বরূপ পাঠ্য প্রকারের ইনপুট )
$("input[type=text]").attr('disabled', true);
সব ধরণের ইনপুট ধরণের জন্য
$("input").attr('disabled', true);
$("input[name=method]").prop('disabled', true);
এটা আমার জন্য কাজ করে
$("#values:input").attr("disabled",true);
$("#values:input").attr("disabled",false);
আমি @gnarf উত্তর ব্যবহার করেছি এবং এটি ফাংশন হিসাবে যুক্ত করেছি
$.fn.disabled = function (isDisabled) {
if (isDisabled) {
this.attr('disabled', 'disabled');
} else {
this.removeAttr('disabled');
}
};
তারপরে এভাবে ব্যবহার করুন
$('#myElement').disable(true);
সমস্ত অক্ষম করুন input
:
[...document.querySelectorAll('input')].map(e => e.disabled = true);
অক্ষম input
সঙ্গেid="my-input"
document.getElementById('my-input').disabled = true;
প্রশ্ন হল সঙ্গে , jQuery এটা শুধু অবগতির জন্য আছে।
পদ্ধতির 4 (এটি ওয়াইল্ড কোডার উত্তরটির সম্প্রসারণ )
এটি ব্যবহার করুন,
$( "#id" ).prop( "disabled", true );
$( "#id" ).prop( "disabled", false );
<html>
<body>
Name: <input type="text" id="myText">
<button onclick="disable()">Disable Text field</button>
<button onclick="enable()">Enable Text field</button>
<script>
function disable() {
document.getElementById("myText").disabled = true;
}
function enable() {
document.getElementById("myText").disabled = false;
}
</script>
</body>
</html>
JQuery মোবাইলে:
$('#someselectElement').selectmenu().selectmenu('disable').selectmenu('refresh', true);
$('#someTextElement').textinput().textinput('disable');
$('#someselectElement').selectmenu().selectmenu('enable').selectmenu('refresh', true);
$('#someTextElement').textinput('enable');