কীভাবে jQuery ব্যবহার করে "অক্ষম" অ্যাট্রিবিউট মুছবেন?


394

আমাকে প্রথমে ইনপুটগুলি অক্ষম করতে হবে এবং তারপরে তাদের সক্ষম করতে একটি লিঙ্কের ক্লিক করতে হবে।

এটি আমি এ পর্যন্ত চেষ্টা করেছি, তবে এটি কার্যকর হয় না।

এইচটিএমএল:

<input type="text" disabled="disabled" class="inputDisabled" value="">

JQuery:

$("#edit").click(function(event){
   event.preventDefault();
   $('.inputDisabled').removeAttr("disabled")
});


এটি আমাকে trueএবং তারপরে দেখায় তবে falseইনপুটগুলির জন্য কোনও কিছুই পরিবর্তন হয় না:

$("#edit").click(function(event){
   alert('');
   event.preventDefault();
   alert($('.inputDisabled').attr('disabled'));
   $('.inputDisabled').removeAttr("disabled");
   alert($('.inputDisabled').attr('disabled'));
});

2
আমি আপনার সমস্যা দেখতে পাচ্ছি না। তুমি কি জিজ্ঞাসা করছ?
নিকোসন্তানজেলো

তাহলে প্রশ্ন কি? আমি বোঝাতে চাইছি আপনি কী সমস্যার মুখোমুখি হচ্ছেন
সত্য তেজা

7
প্রোপ () - .প্রপ ('অক্ষম', মিথ্যা) ব্যবহার করুন
জে ব্ল্যানচার্ড

যদি আপনার সমস্যার সমাধান হয় তবে দয়া করে অন্যকে জানার জন্য গৃহীত (বাস্তব) উত্তরটি টিক দিন ...
ধামু

সমস্যাটি হ'ল এটি
ক্লিকের

উত্তর:


817

prop()JQuery ব্যবহার করার সময় উপাদানগুলি সক্ষম বা অক্ষম করতে সর্বদা পদ্ধতিটি ব্যবহার করুন (এর জন্য নীচে দেখুন)।

আপনার ক্ষেত্রে, এটি হবে:

$("#edit").click(function(event){
   event.preventDefault();
   $('.inputDisabled').prop("disabled", false); // Element(s) are now enabled.
});

jsFood উদাহরণ এখানে।


prop()আপনি যখন এটি করতে attr()/ ব্যবহার করতে পারতেন তখন কেন ব্যবহার removeAttr()করবেন?

মূলত, prop()যখন পেয়ে বা সেটিং ব্যবহার করা উচিত বৈশিষ্ট্য (যেমন autoplay, checked, disabledএবং requiredঅন্যদের মধ্যে)।

ব্যবহার করে removeAttr(), আপনি সম্পূর্ণরূপে disabledগুণাবলীর অপসারণ করছেন - যখন prop()কেবলমাত্র সম্পত্তিটির অন্তর্নিহিত বুলিয়ান মানটিকে মিথ্যা হিসাবে সেট করা হচ্ছে।

আপনি যা করতে চান তা / ব্যবহার করে করা যেতে পারে , এর অর্থ এই নয় যে এটি করা উচিত (এবং এই ক্ষেত্রে যেমন অদ্ভুত / সমস্যাযুক্ত আচরণের কারণ হতে পারে)।attr()removeAttr()

নিম্নলিখিত সূত্রগুলি ( প্রোপ () এর জন্য jQuery ডকুমেন্টেশন থেকে নেওয়া ) এই পয়েন্টগুলি আরও বিশদে বিশদভাবে ব্যাখ্যা করে:

"বৈশিষ্ট্য এবং বৈশিষ্ট্যের মধ্যে পার্থক্য নির্দিষ্ট পরিস্থিতিতে গুরুত্বপূর্ণ হতে পারে j jQuery 1.6 এর আগে .attr()কিছু বৈশিষ্ট্য পুনরুদ্ধার করার সময় পদ্ধতিটি কখনও কখনও সম্পত্তি মানগুলিকে বিবেচনা করে নেয়, যা অসামঞ্জস্যপূর্ণ আচরণের কারণ হতে পারে j jQuery 1.6 হিসাবে, .prop() পদ্ধতিটি সুস্পষ্টভাবে পুনরুদ্ধারের একটি উপায় সরবরাহ করে সম্পত্তি মান, যখন .attr() বৈশিষ্ট্য পুনরুদ্ধার করার ।

"বৈশিষ্ট্যগুলি সিরিয়ালযুক্ত এইচটিএমএল বৈশিষ্ট্যটি পরিবর্তন না করেই কোনও ডোম উপাদানটির গতিশীল অবস্থাকে প্রভাবিত করে। উদাহরণগুলি value ইনপুট উপাদানগুলির disabledসম্পত্তি, ইনপুট এবং বোতামগুলির checkedসম্পত্তি বা একটি চেকবক্সের সম্পত্তি অন্তর্ভুক্ত করে .prop()method পদ্ধতিটি সেট করার জন্য disabledএবং checkedপরিবর্তে ব্যবহার করা উচিত .attr() পদ্ধতি। .val()পদ্ধতি পাওয়ার সেট করার জন্য ব্যবহার করা উচিত value। "


3
লোকেরা নোংরা চেকনেস পতাকাটি খুব ভালভাবে জানতে হবে যা চেকবাক্সগুলির জন্য attrবনাম সম্পূর্ণরূপে ভেঙে যায় prop: অভ্যন্তরীণ jQuery ওয়ার্কআরাউন্ড ম্যাজিক বাদে w3.org/TR/html5/forms.html#concept-input- চেকড- ডার্টি
সিরো সান্তিলি 郝海东 冠状 病 六四 事件 法轮功

19
হুঁ, .প্রপ ("অক্ষম", মিথ্যা) আমার কাছে কোনও বোতামে কাজ করছে বলে মনে হয় না - কোনও মূল্য ছাড়াই ট্যাগটিতে 'অক্ষম' বৈশিষ্ট্য রেখে যায়।
ক্রিক

3
@ ইউপি-ক্রিক আমার পক্ষেও কাজ করছে না। তবে আমি 'এটি' ধারাটি (যথারীতি) নিয়ে একটি স্কোপ সমস্যা হিসাবে আবিষ্কার করেছি। নির্দিষ্ট ক্ষেত্রে .prop()নির্দেশিত উপাদানটির উপর মৃত্যুদন্ড কার্যকর করা হয়েছিল this( this.prop("disabled", false)তবে একটি কলব্যাক হওয়া এটি ভুল উপাদানটির সাথে আবদ্ধ ছিল, তাই আমাকে সাধারণ কাজটি করতে হয়েছিল var that = thiswith সাথে খেলার চেষ্টা করা .apply()/ .call()ভাল কাজ করছিল না; আমি জানি না console.log(this)this.prop(...)
কেন।একটি

3
আমি এই উত্তরটি দলিল বিভাগে রূপান্তর করার জন্য প্রার্থী হিসাবে মনোনীত করি। পরিষ্কার, সম্পূর্ণ, ভাল লেখা।
অ্যান গুন

4
অপসারণ () মুছে ফেলা ব্যবহার করে, আপনি নিজেকে সম্পূর্ণরূপে অক্ষম বৈশিষ্ট্যগুলি মুছে ফেলছেন - যখন প্রোপ () কেবল সম্পত্তির অন্তর্নিহিত বুলিয়ান মানকে মিথ্যা হিসাবে সেট করছে। আমি এটিকে সত্য বলে বিশ্বাস করি না। এইচটিএমএলে, disabledসম্পত্তির নিছক উপস্থিতি উপাদানটিকে অক্ষম করবে। উদাহরণস্বরূপ, একটি <button disabled="false"></button> থাকা বোতামটি সক্ষম করবে না, সম্পত্তিটি সরিয়ে ফেলতে হবে। $('button').prop('disabled', false);JQuery কল করে আপনার জন্য সম্পত্তি মুছে ফেলা হবে, যেমনটি আমি এই কোডেপেনে পর্যবেক্ষণ করেছি (সম্পত্তি অপসারণটি দেখতে পরিদর্শন করুন)।
নফতালি

42
<input type="text" disabled="disabled" class="inputDisabled" value="">
​<button id="edit">Edit</button>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

$("#edit").click(function(event){
    event.preventDefault();
    $('.inputDisabled').removeAttr("disabled")
});​

http://jsfiddle.net/ZwHfY/


42

অক্ষম বৈশিষ্ট্য ব্যবহার অপসারণ করতে,

 $("#elementID").removeAttr('disabled');

এবং অক্ষম বৈশিষ্ট্য ব্যবহার যুক্ত করতে,

$("#elementID").prop("disabled", true);

উপভোগ করুন :)


4
অথবা ভ্যানিলা জেএস
ড্রাগগস রুসু

16

এটি ব্যবহার করুন,

এইচটিএমএল:

<input type="text" disabled="disabled" class="inputDisabled" value="">

<div id="edit">edit</div>

জাতীয়:

 $('#edit').click(function(){ // click to
            $('.inputDisabled').attr('disabled',false); // removing disabled in this class
 });

6
এটি আসলে আমার পক্ষে কাজ করছে। প্রোপ ('অক্ষম', মিথ্যা) আশ্চর্যজনকভাবে কাজ করে নি।
স্টেফান

@ স্টেফান এখানে একই জিনিস! কেন খুঁজে পেয়েছেন?
আলেকজান্ডার সুর্যাপেল

1
আমি জানি এটি একটি প্রাচীন থ্রেড তবে কেউ যদি এখনও এ নিয়ে লড়াই করে তবে আমার সমস্যাটি ছিল যে উপাদানটি একটি <a>, যার উপর .prop('disabled', false)কাজ করে না। আমি এটিকে পরিবর্তিত করেছি <button>এবং এটি এখন কাজ করে
অলিভার নাগি


3

ভেবেছি আপনি সহজেই সেটআপ করতে পারেন

$(function(){
$("input[name^=radio_share]").click
(
    function()
    {
        if($(this).attr("id")=="radio_share_dependent")
        {
            $(".share_dependent_block input, .share_dependent_block select").prop("disabled",false);   
        }
        else
        {
            $(".share_dependent_block input, .share_dependent_block select").prop("disabled",true);   
        }
    }
 );
});

3

এটি আমার পক্ষে কাজ করা একমাত্র কোড:

element.removeProp('disabled')

মনে রাখবেন এটি removePropএবং না removeAttr

আমি এখানে ব্যবহার করছি jQuery 2.1.3


12
JQuery ডকুমেন্টেশন থেকে: গুরুত্বপূর্ণ: এই বৈশিষ্ট্যগুলি মিথ্যা হিসাবে সেট করতে .রেমোপ্রপ () পদ্ধতি ব্যবহার করা উচিত নয়। কোনও নেটিভ সম্পত্তি মুছে ফেলা হলে, এটি আবার যুক্ত করা যাবে না। আরও তথ্যের জন্য .removeProp () দেখুন।
XanatosLightfiren

2

2018, জিকুয়ারি ছাড়াই

আমি জানি প্রশ্নটি জিকুয়েরি সম্পর্কিত: এই উত্তরটি কেবল এফওয়াইআই।

document.getElementById('edit').addEventListener(event => {
    event.preventDefault();
    [...document.querySelectorAll('.inputDisabled')].map(e => e.disabled = false);
}); 

0

এই প্রশ্নটিতে বিশেষত jQuery উল্লেখ করা হয়েছে, তবে আপনি যদি jQuery ছাড়াই এটি সম্পাদন করতে চাইছেন তবে ভ্যানিলা জাভাস্ক্রিপ্টের সমতুল্য হ'ল:

elem.removeAttribute('disabled');

elem.removeAttr('disabled');আমার জন্য কাজ করে
চেং হুই ইউয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.