এটি আপনার প্রশ্নের সরাসরি উত্তর নাও দিতে পারে, তবে এই সমস্যাটি সাধারণ নকশা স্তরের সামঞ্জস্যের দ্বারা সমাধান করা যেতে পারে। আমি বুঝতে পারি এটি ব্যবহারের ক্ষেত্রে 100% প্রযোজ্য নাও হতে পারে, তবে আমি দৃ strongly়ভাবে আপনাকে আপনার অ্যাপ্লিকেশনটির ব্যবহারকারীর প্রবাহকে পুনরায় চিন্তাভাবনা করার বিষয়ে বিবেচনা করার জন্য অনুরোধ করছি এবং যদি নিম্নলিখিত নকশার পরামর্শটি কার্যকর করা যায়।
আমি বিকল্প ফাটান চেয়ে কিছু সহজ না করার সিদ্ধান্ত নিয়েছে onChange()
অন্যান্য ঘটনা যে সত্যিই এই কাজের জন্য অভিপ্রেত ছিল না ব্যবহার ( blur
, click
ইত্যাদি)
আমি যেভাবে এটি সমাধান করেছি:
কেবল কোনও স্থানধারক বিকল্প ট্যাগের প্রাক-পেন্ড করুন যেমন নির্বাচন করুন যা এর কোনও মূল্য নেই।
সুতরাং, কেবলমাত্র নিম্নলিখিত কাঠামোটি ব্যবহার না করে, যার জন্য হ্যাক-ওয়াই বিকল্পগুলি প্রয়োজন:
<select>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
এটি ব্যবহার বিবেচনা করুন:
<select>
<option selected="selected">Select...</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
সুতরাং, এইভাবে, আপনার কোডটি অনেক বেশি সরলীকৃত এবং onChange
প্রত্যাশার মতোই কাজ করবে, প্রতিবার ব্যবহারকারী যখন ডিফল্ট মান বাদে অন্য কিছু নির্বাচন করার সিদ্ধান্ত নেয়। এমনকি disabled
আপনি যদি না চান যে তারা আবার এটি নির্বাচন করতে চান এবং অপশনগুলি থেকে কোনও কিছু নির্বাচন করতে বাধ্য করুন, এভাবে একটি ট্রিগার ট্রিট করেonChange()
আগুনের ।
এই উত্তরের সময়, আমি একটি জটিল ভ্যু অ্যাপ্লিকেশন লিখছি এবং আমি দেখতে পেলাম যে এই নকশা পছন্দটি আমার কোডটিকে অনেক সহজ করেছে। এই সমাধানটি স্থির করার আগে আমি এই সমস্যার জন্য কয়েক ঘন্টা ব্যয় করেছি এবং আমার কোডটি প্রচুর পুনরায় লিখতে হয়নি। তবে, আমি যদি হ্যাকি বিকল্পের সাথে চলে যাই, এজাক্স অনুরোধগুলি ডাবল ফায়ারিং রোধ করার জন্য প্রান্তের ক্ষেত্রে আমাকে জবাবদিহিতা করতে হবে ব্রাউজারগুলিও)।
কখনও কখনও, আপনার সহজ সমাধানের জন্য কেবল একটি পদক্ষেপ ফিরে নেওয়া এবং বড় ছবিটি নিয়ে ভাবতে হবে।