ডিভের ভিতরে সমস্ত ফর্ম উপাদানগুলি অক্ষম করুন


161

ফর্মের সমস্ত ক্ষেত্রগুলি (টেক্সারিয়া / টেক্সটফিল্ড / অপশন / ইনপুট / চেকবক্স / জমা ইত্যাদি) অক্ষম করার কোনও উপায় কি jquery / জাভাস্ক্রিপ্টে পিতামাতার দ্বি নামটি বলে?


4
নোট করুন যে এটি করার মাধ্যমে আপনি ফর্ম জমা দেওয়ার সময় সেই উপাদানগুলির মানগুলি "অদৃশ্য" হয়ে যেতে - সেগুলি মান readOnlyঅক্ষম রাখার জন্য সংরক্ষণ করুন ।
শেডো উইজার্ড আপনার জন্য কান ইয়ার


1
একটি আইডিয়া আড়াল করা যায় / নিয়ন্ত্রণের সামনে একটি ডিভি দেখানো হতে পারে যা এটি ক্লিক হতে দেয় / প্রতিরোধ করে, সিএসএস সহ স্টাইল অক্ষম নিয়ন্ত্রণগুলি।
জয়দার

উত্তর:


261

:inputঅভিভাবক নির্বাচক সহ নির্বাচকটি ব্যবহার করে দেখুন :

$("#parent-selector :input").attr("disabled", true);

আমি ডিভের ভিতরে সমস্ত ইনপুট সেট করতে 0 এর মান সেট করতে এটি ব্যবহার করতে পারি?
জ্যাকসন

2
আমি <a> টিও অক্ষম করতে চাই ... আমার <a> টিও ক্লিক করেছে
RAJ

7
JQuery এর উদ্ধৃতি : কারণ: ইনপুটটি jQuery এক্সটেনশন এবং CSS স্পেসিফিকেশনের অংশ নয়, কোয়েরি ব্যবহার করে: ইনপুটটি নেটিভ ডোম ক্যোয়ারীস্লেক্টরআল () পদ্ধতি দ্বারা সরবরাহিত পারফরম্যান্স বৃদ্ধির সুবিধা নিতে পারে না। ব্যবহার করার সময় সেরা পারফরম্যান্স অর্জন করতে: উপাদান নির্বাচন করতে ইনপুট, প্রথমে খাঁটি সিএসএস নির্বাচক ব্যবহার করে উপাদান নির্বাচন করুন, তারপরে। ফিল্টার (": ইনপুট") ব্যবহার করুন।
acme

2
@ একমি: 100% এর সাথে সম্মত হন তবে আমি কী নির্বাচককে ফিল্টার করতে পারি সে সম্পর্কে প্রশ্নটি কোনও ইঙ্গিত দেয় না। কেবলমাত্র আমাকে দেওয়া হয়েছিল যে ব্যবহারকারীর অবশ্যই এটি পিতামাতার divনামের সাথে করতে সক্ষম হবে এবং এটিই। আরও তথ্য দিলে আমি আরও দক্ষ সমাধান নিয়ে আসতে পারতাম।
অ্যান্ড্রু হুইটেকার

1
.Ttr () এর পরিবর্তে .prop () ব্যবহার করুন (উপরে jquery 1.6)
অক্ষয় গুন্ডেওয়ার

154
$('#mydiv').find('input, textarea, button, select').attr('disabled','disabled');

4
এটি হওয়া উচিত ('ইনপুট, টেক্সারিয়া, বোতাম') সমস্ত নির্বাচককে এক সেট উদ্ধৃতি দিয়ে উদ্ধৃত করা উচিত। api.jquery.com/m Multiple-selector আপনি একাধিক যুক্তি প্রেরণ করছেন এমনভাবে এটি করা।
ইভান ইভানিć 13'11

2
এটি কেবল পাঠ্য এবং বোতাম উপেক্ষা করে আপনাকে ইনপুটগুলি খুঁজে পাবে। ইনপুট সিলেক্টর হ'ল উপায়, তবে আপনি যদি এগুলি স্পষ্টভাবে তালিকাবদ্ধ করতে চান তবে আপনার ব্যবহারের প্রয়োজন হবে $('#mydiv').find('input, textarea, button')
মার্ক হিলড্রেথ

1
... বা কেবল $ ('# আপনার রূপ')। শিশুরা ()। প্রপ ('অক্ষম', সত্য);
ওয়ালভ

@ওয়ালভ আপনার কোডটি কেবল তখনই কাজ করে যদি সমস্ত ফর্ম উপাদান ফর্মের একক বংশধর হয়। ()) বংশধর স্তর নির্বিশেষে তালিকার সমস্ত উপাদান সন্ধান করুন। কোডের এই লাইনটি নতুন jquery সংস্করণে অ্যাটারের পরিবর্তে প্রপ ব্যবহার করা অন্যটি সঠিক।
ক্রিস হে

32

Jquery 1.6+ এর জন্য, .prop()পরিবর্তে ব্যবহার করুন .attr(),

$("#parent-selector :input").prop("disabled", true);

অথবা

$("#parent-selector :input").attr("disabled", "disabled");

2
আপনি ঠিক বলেছেন তবে কিছুটা সময় কাজ করে এবং কিছু সময় কাজ করে না, বিশেষত চেকবক্স এবং রেডিওবুটনের কারণে
দাম

আমি বুঝতে পারি যে এটি একটি পুরানো থ্রেড, তবে টাইপস্ক্রিপ্ট ব্যবহার করার সময় এটি কিছু ত্রুটি বাড়িয়ে তুলেছে
সাইমন প্রাইস

5
    $(document).ready(function () {
        $('#chkDisableEnableElements').change(function () {
            if ($('#chkDisableEnableElements').is(':checked')) {
                enableElements($('#divDifferentElements').children());
            }
            else {
                disableElements($('#divDifferentElements').children());
            }
        });
    });

    function disableElements(el) {
        for (var i = 0; i < el.length; i++) {
            el[i].disabled = true;

            disableElements(el[i].children);
        }
    }

    function enableElements(el) {
        for (var i = 0; i < el.length; i++) {
            el[i].disabled = false;

            enableElements(el[i].children);
        }
    }

4

কেবল কোডের এই লাইনটি সমস্ত ইনপুট উপাদানগুলিকে অক্ষম করবে

$('#yourdiv *').prop('disabled', true);

আমার মতামত থেকে সেরা উত্তর।
অজয় 2707

2

কেবলমাত্র এইচটিএমএল বৈশিষ্ট্যটি 'অক্ষম' ব্যবহার করে কীভাবে এটি অর্জন করা যায়?

<form>
 <fieldset disabled>
  <div class="row">
   <input type="text" placeholder="">
   <textarea></textarea>
   <select></select>
  </div>
  <div class="pull-right">
    <button class="button-primary btn-sm" type="submit">Submit</button>
  </div>
 </fieldset>
</form>

কেবল ফিল্ডসেটে অক্ষম রেখে সেই ক্ষেত্রের ভিতরে সমস্ত ক্ষেত্র অক্ষম হয়ে যায়।

$('fieldset').attr('disabled', 'disabled');

1

আমি বিভিন্ন পয়েন্টে নীচে ফাংশনটি ব্যবহার করছি। যতক্ষণ না সঠিক নির্বাচক ব্যবহার করা হয় ততক্ষণ একটি টেবিলের ডিভ বা বোতাম উপাদানগুলিতে কাজ করে। কেবল ": বোতাম" আমার জন্য পুনরায় সক্ষম করবে না।

function ToggleMenuButtons(bActivate) {
    if (bActivate == true) {
        $("#SelectorId :input[type='button']").prop("disabled", true);
    } else {
        $("#SelectorId :input[type='button']").removeProp("disabled");
    }
}

এক এক সমাধান দুটি।
3 বিধি

0

নিম্নলিখিতগুলি সমস্ত ইনপুট অক্ষম করবে তবে এটি বিটিএন ক্লাসে সক্ষম হবে না এবং অক্ষম সিএসএসের ওভাররাইটে বর্গ যুক্ত করেছে।

$('#EditForm :input').not('.btn').attr("disabled", true).addClass('disabledClass');

সিএসএস ক্লাস

.disabledClass{
  background-color: rgb(235, 235, 228) !important;
}

0

আমার পক্ষে গ্রহণযোগ্য উত্তরটি কার্যকর হয়নি কারণ আমার কাছে এমন কয়েকটি নেট নেট লুকানো ক্ষেত্র ছিল যা অক্ষম হয়ে গেছে তাই আমি কেবল দৃশ্যমান ক্ষেত্রগুলি অক্ষম করার জন্য বেছে নিয়েছি

//just to save the list so we can enable fields later
var list = [];
$('#parent-selector').find(':input:visible:not([readonly][disabled]),button').each(function () {
    list.push('#' + this.id);
});

$(list.join(',')).attr('readonly', true);

0

ডিভ উপাদানসমূহ সম্পাদনা করা থেকে বিরত রাখতে সিএসএস ক্লাস ব্যবহার করুন

সিএসএস:

.divoverlay
{
position:absolute;
width:100%;
height:100%;
background-color:transparent;
z-index:1;
top:0;
}

জাতীয়:

$('#divName').append('<div class=divoverlay></div>');

অথবা এইচটিএমএল ট্যাগে শ্রেণীর নাম যুক্ত করুন। এটি ডিভ উপাদানসমূহ সম্পাদনা করা থেকে বিরত করবে।


0

কেবল পাঠ্য প্রকার

$(".form-edit-account :input[type=text]").attr("disabled", "disabled");

শুধুমাত্র পাসওয়ার্ড টাইপ

$(".form-edit-account :input[type=password]").attr("disabled", "disabled");

কেবল ইমেল প্রকার

$(".form-edit-account :input[type=email]").attr("disabled", "disabled");
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.