JQuery ব্যবহার করে .প্রপ পরিবর্তন করা। পরিবর্তন ইভেন্টটি ট্রিগার করে না


125

আমি একটি চেকবক্সে ইভেন্ট শ্রোতা পেয়েছি:

<input type="checkbox" name="something">

আমার ইভেন্ট শ্রোতা:

$('input[type="checkbox"][name="something"]').change(function() { 
    //DO SOMETHING 
});

আমার আরও একটি ইভেন্ট শ্রোতা .propরয়েছে যা চেকবক্সের পরিবর্তন করে:

$('#button').click(function() { 
    $('input[type="checkbox"][name="something"]').prop("checked", false);
});

আমি যখন চেকবক্সটি DO SOMETHINGট্রিগার করি তখন । আমি যখন এ ক্লিক করুন #button, .propপরিবর্তন এবং আমি চাক্ষুষরূপে আনচেক চেকবক্সটি দেখতে, কিন্তু DO SOMETHINGআলোড়ন সৃষ্টি না হয়ে যায় ...

আমি কিছু উপেক্ষা করছি?


উত্তর:


196

পরিবর্তিত ইভেন্টটি বরখাস্ত করা হয় যখন পৃষ্ঠাতে ব্যবহারকারীদের মিথস্ক্রিয়া দ্বারা মান পরিবর্তন করা হয় এবং যখন কোড ব্যবহার করে মান পরিবর্তন করা হয় তখন নয়।

এখানে আপনার সম্পত্তিটি পরিবর্তন করার পরে .change()বা ব্যবহার করতে হবে .trigger("change"):

$('input[type="checkbox"][name="something"]').prop("checked", false).change();

ওয়ার্কিং ডেমো


2
আমি ভাবলাম propইভেন্ট জেনারেশনের প্রতি যত্নশীল?
কোডিং হয়ে গেছে

1
কুল। ধন্যবাদ। ধারণাটি প্রমাণ করার জন্য ভাল ডেমো। +1 ধন্যবাদ
কোডিং হয়ে গেছে

ধন্যবাদ! সুতরাং .prop ()। পরিবর্তন () আমার শেষের দিকে কাজ না করার কারণটি হ'ল আমি মেটিওরজেএসে jQuery করছি, যার jQuery কল করার কিছুটা ভিন্ন উপায় রয়েছে। আমি এটি আপনার পথে ঠিক চেষ্টা করেছি এবং এটি কাজ করেছে।
fuzzybabybunny

@ ফুজিবাবিব্যুনি: এটি মেটিওরজেএস-এর কারণে নয়। প্রোপ () পরিবর্তন ইভেন্টটি ট্রিগার করে না।
মিলিন্দ অনন্ত্বর

@ মিলিন্দাঅনত্বর, আমি প্রেরণ করছিলাম .পরে মেটিয়র কোডে পরিবর্তন করুন ( Template.myTemplate.events) এবং এটি কার্যকর হয়নি। আমি তারপরে একই সঠিক jQuery কোডটি রেখেছি Template.myTemplate.renderedএবং এটি ঠিক আছে ran
fuzzybabybunny
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.