এইচটিএমএল নির্বাচনের উপাদানগুলির নির্বাচিত বিকল্পের মান পুনরুদ্ধার এবং সেট করতে jQuery


126

আমি jQuery সহ একটি নির্বাচিত উপাদান (ড্রপ ডাউন তালিকা) এর নির্বাচিত মানটি পুনরুদ্ধার এবং সেট করার চেষ্টা করছি।

পুনরুদ্ধারের জন্য আমি চেষ্টা করেছি $("#myId").find(':selected').val()পাশাপাশি $("#myId").val()উভয়ই অপরিবর্তিত রয়েছে।

এই সমস্যাটির যে কোনও অন্তর্দৃষ্টি প্রশংসিত হবে।


যদি আপনার এসপি নেট ব্যবহার করে থাকেন তবে সেগুলির আইডি একবারে রেন্ডার করা হবে না!
রিগবার্ট গান

উত্তর:


154

আপনার যেভাবে রয়েছে তা এই মুহূর্তে সঠিক। হয় নির্বাচনের আইডি আপনি যা বলছেন তা নয় বা ডোমে আপনার কিছু সমস্যা রয়েছে।

উপাদানটির আইডি চেক করুন এবং আপনার মার্কআপ বৈধতাগুলি এখানে ডাব্লু 3 সি তেও পরীক্ষা করুন ।

একটি বৈধ ডোম ছাড়া jQuery নির্বাচকদের সাথে সঠিকভাবে কাজ করতে পারে না।

আইডি যদি সঠিক হয় এবং আপনার ডোম বৈধ হয় তবে নিম্নলিখিতগুলি প্রয়োগ করে:

অপশন মান নির্বাচন করতে

$('#selectId').val();

নির্বাচন বিকল্প বিকল্প নির্ধারণ করতে

$('#selectId').val('newValue');

নির্বাচিত পাঠ্য পড়তে

$('#selectId>option:selected').text();

@ এইচটিএমএল.ড্রপডাউনলিস্ট ("কয়েনটাইপস", (সিলেক্টলিস্ট) ভিউব্যাগ.রেকর্ডার্ড লেভেল, নতুন {@class = "ফর্ম-কন্ট্রোল", @ শৈলী = "উচ্চতা: 21px; মার্জিন-শীর্ষ: 5px;"}) তবে $ ('# সাইন টাইপস ') .val (@ ViewBag.CoinType); নির্বাচন করছেন না
নিতিন পল

@ নিতিনপল সত্যিই কোনও মন্তব্য নয়, এমন প্রশ্ন জিজ্ঞাসা করুন যা এইচটিএমএল দেখায় যাতে কেউ আসলে কী চেষ্টা করতে পারে এবং যা ভুল তা কার্যকর করতে পারে। নিশ্চিত না যে আপনি কীভাবে কেউ কেউ কিছু ওয়েবফর্ম / এমভিসি কোড থেকে এটি কাজ করে আশা করতে পারেন!
redsquare

248

নির্বাচিত উপাদান ব্যবহারের আসল নির্বাচিত ইনডেক্স সম্পত্তি পেতে / সেট করতে:

$("#select-id").prop("selectedIndex");

$("#select-id").prop("selectedIndex",1);

19
এটি লক্ষণীয় গুরুত্বপূর্ণ যে প্রপ () বৈশিষ্ট্যটি 1.6 সংস্করণে প্রয়োগ করা হয়েছিল সুতরাং পূর্ববর্তী সংস্করণগুলিতে এই কার্যকারিতা নেই।
রবিবি

18
আমি এই উত্তরটি পছন্দ করি কারণ এটি কেবল সূচকটি অ্যাক্সেসের প্রশ্নের উত্তর দেয়, কেবলমাত্র মানটি নয়।
পাবলো ডিয়াজ

4
হ্যাঁ। আমি ভেবেছিলাম এটিই আসল প্রশ্ন।
জ্যাক হল্ট

আপনি সম্ভবত একই বাক্য গঠন সহ অ্যাটর ব্যবহার করতে পারেন এবং ঠিক আছে be
ইয়েজটক

7
@ এম। ইয়েজটাক সামুয়েল .attr()এবং .prop()সমার্থক নয়। এটি নির্দিষ্ট কিছু ক্ষেত্রে কাজ করবে যেখানে একটি বৈশিষ্ট্যও একটি সম্পত্তি, যেমন .attr('id')সমান .prop('id')। এই উদাহরণে, .prop('selectedIndex')সমান .get(0).selectedIndex
WynandB

7

$('#myId').val() এটি করা উচিত, ব্যর্থ যে আমি চেষ্টা করব:

$('#myId option:selected').val()

4

সাথে সেট করার সময় JQM, আপডেটটি করতে ভুলবেন না UI:

$('#selectId').val('newValue').selectmenu('refresh', true);

এই নুগেটের জন্য ধন্যবাদ - ভাবছিলাম why ("# ​​স্লট-পছন্দ") দিয়ে নির্বাচিত ইনডেক্সটি পরিবর্তনের পরে কেন নতুন মান পর্দায় প্রদর্শিত হবে না prop ("নির্বাচিত তালিকা", এন)।
সামিক আর

3

$("#myId").val()myidনির্বাচিত উপাদান আইডি যদি কাজ করা উচিত !

এটি নির্বাচিত আইটেমটি সেট করবে: $("#myId").val('VALUE');


1

মনে করুন আপনি নীচের মতো SELECT ট্যাগ ব্যবহার করে একটি ড্রপ ডাউন তালিকা তৈরি করেছেন,

<select id="Country">

এখন আপনি যদি JQuery ব্যবহার করে ড্রপ ডাউন থেকে নির্বাচিত মানটি দেখতে চান তবে সেই মানটি পুনরুদ্ধার করতে কেবল নিম্নলিখিত লাইনটি রাখুন ..

var result= $("#Country option:selected").text();

এটা ঠিক কাজ করবে।


0

আমি জানি এটি পুরানো তবে আমি কেবল রেজারের সাথে সময় নিয়েছি, আমি যতই চেষ্টা করেও তা কাজে লাগাতে পারিনি। আমি "গুণ" বা "এইচটিএমএল" বৈশিষ্ট্যের জন্য ব্যবহার না করেই "অপরিবর্তিত" হিসাবে ফিরে আসছি K অবশেষে আমি বিকল্পটিতে "ডেটা-মান" বৈশিষ্ট্য যুক্ত করেছি এবং এটি ঠিক জরিমানা পড়ে।

 <option value="1" data-value="MyText">MyText</option>

 var DisplayText = $(this).find("option:selected").attr("data-value");

0

; ("#myId বিকল্প: নির্বাচিত")। পাঠ্য (); আপনি যে পাঠ্যটি ড্রপ ডাউন উপাদানটিতে নির্বাচন করেছেন তা আপনাকে দিবে। উভয় উপায়েই আপনি এটিকে .val () এ পরিবর্তন করতে পারেন; এর মান পেতে নীচের কোডিং চেক করুন

<select id="myId">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>`
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>

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