বিকল্পটি jQuery এর সাথে নির্বাচিত কিনা তা পরীক্ষা করুন, যদি না কোনও ডিফল্ট নির্বাচন করা হয়


207

জিকুয়ারি ব্যবহার করে, আপনি নির্বাচনী মেনুতে কোনও বিকল্প নির্বাচন করা আছে কিনা তা আপনি কীভাবে পরীক্ষা করবেন এবং যদি তা না হয় তবে নির্বাচিত হিসাবে বিকল্পগুলির মধ্যে একটি নির্ধারণ করুন।

(নির্বাচিতটি আমার সবেমাত্র উত্তরাধিকার সূত্রে প্রাপ্ত একটি অ্যাপ্লিকেশনটিতে পিএইচপি ফাংশনগুলির একটি গোলকধাঁধা দিয়ে তৈরি করা হয়েছে, সুতরাং আমি যখন আমার মাথা পেতে পারি তখনই এটি একটি দ্রুত সমাধান) :)


উত্তর:


270

আপনি ঠিক কী অর্জন করতে চান সে সম্পর্কে আমি নিশ্চিত নই, এই বিট কোডটি আমার পক্ষে কাজ করেছিল।

<select id="mySelect" multiple="multiple">
  <option value="1">First</option>
  <option value="2">Second</option>
  <option value="3">Third</option>
  <option value="4">Fourth</option>
</select>

<script type="text/javascript"> 
$(document).ready(function() {
  if (!$("#mySelect option:selected").length) {
    $("#mySelect option[value='3']").attr('selected', 'selected');
  }
});
</script>

86
নির্বাচনটি পড়ার মতো পড়তে আরও সহজ হবে:$("#mySelect").val(3);
জার্ন শো-রোড

6
এটি আমাকে সঠিক পথে পৌঁছেছে, তবে আমার এটি করা দরকার: $("#mySelect option")[2]['selected'] = true; ফায়ারবাগের অবজেক্টের কাঠামোর তদন্ত করার পরে এটি অনুধাবন করা হয়েছিল।
semperos

28
JQuery 1.6 হিসাবে আপনি সরাসরি সম্পত্তি সেট করতে পারেন। $("#mySelect").prop("selectedIndex", 2)
গ্রেডবোট

1
.Val (x) সংস্করণটি ইন্টারনেট এক্সপ্লোরার 8 এ কাজ করে না, সুতরাং @ গ্রেডবোটটি ঠিক আছে, এটি সমস্ত ব্রাউজারগুলিতে কাজ করে।
সোর্সি

30

এর জন্য jQuery ব্যবহার করার দরকার নেই:

var foo = document.getElementById('yourSelect');
if (foo)
{
   if (foo.selectedIndex != null)
   {
       foo.selectedIndex = 0;
   } 
}

58
ওপিতে বলা হয়েছে, "jQuery ব্যবহার করে ..." সুতরাং এটিকে উপেক্ষা করা অতিমাত্রায় মনে হয়, না?
ব্রায়ানএইচ

13
ব্যক্তিগতভাবে, আমি যদি একটি নির্দিষ্ট প্রশ্ন জিজ্ঞাসা করি, আমি অন্য উপায়ের পরিবর্তে প্রশ্নের উত্তর পেতে চাই।
ভিটো

18
কখনও কখনও আপনি যে উত্তরটি সন্ধান করেন তা আপনার প্রত্যাশাটি নয়।
মিঃবোজঙ্গলস

5
নির্বিশেষে, তিনি jQuery চেয়েছিলেন, এবং jQuery উত্তরটি বুঝতে কিছুটা সহজ, বিশেষত যদি কেউ বেস জাভাস্ক্রিপ্ট বুঝতে না পারে।
shmeeps

6
এটি করার দুর্দান্ত উপায়, কখনও কখনও বেস জাভাস্ক্রিপ্ট বেশ সহজ হতে পারে!
হাল্লাগান

13

এই প্রশ্নটি পুরানো এবং অনেকগুলি মতামত রয়েছে, তাই আমি কেবল কিছু জিনিস সেখানে ফেলে দেব যা কিছু লোককে নিশ্চিত যে আমি নিশ্চিত।

কোনও নির্বাচিত উপাদানটির কোনও নির্বাচিত আইটেম রয়েছে কিনা তা পরীক্ষা করতে:

if ($('#mySelect option:selected').length > 0) { alert('has a selected item'); }

বা একটি নির্বাচনের কিছুই নির্বাচিত নেই কিনা তা পরীক্ষা করতে:

if ($('#mySelect option:selected').length == 0) { alert('nothing selected'); }

বা যদি আপনি কোনও ধরণের লুপে থাকেন এবং বর্তমান উপাদানটি নির্বাচিত কিনা তা পরীক্ষা করতে চান:

$('#mySelect option').each(function() {
    if ($(this).is(':selected')) { .. }
});

লুপে থাকা অবস্থায় কোনও উপাদান নির্বাচন করা হয়নি কিনা তা পরীক্ষা করতে:

$('#mySelect option').each(function() {
    if ($(this).not(':selected')) { .. }
});

এটি করার কয়েকটি উপায় এটি। jQuery একই জিনিস সম্পাদন করার বিভিন্ন উপায় আছে, তাই আপনি সাধারণত কেবল বেছে নিন কোনটি সবচেয়ে কার্যকর বলে মনে হয় choose


"না" আমার পক্ষে কাজ করেনি '(' # আমারসलेक्ट বিকল্প ')। প্রতিটি (ফাংশন () {যদি ($ (এটি) not সুতরাং এটিতে নেতিবাচক ব্যবহারটি হ'ল যদি (! $ (এটি) is। জ্যুচুরি সংস্করণ: 3.1.1
অনিল কুমার

12

ল্যানসিওনির উত্তরটি আমিই সুপারিশ করব। ('#mySelect option:last')" #mySelect option[value='yourDefaultValue']" ব্যবহার করে নির্দিষ্ট মান সহ বিকল্পটি নির্বাচন করতে বিকল্পের জন্য নির্বাচককে পরিবর্তন করতে পারেন । নির্বাচকদের উপর আরও

আপনি যদি ক্লায়েন্টের নির্বাচিত তালিকাগুলি নিয়ে ব্যাপকভাবে কাজ করছেন তবে এই প্লাগইনটি দেখুন: http://www.texotela.co.uk/code/jquery/select/ । আপনি যদি নির্বাচিত তালিকাগুলি নিয়ে কাজ করার আরও কয়েকটি উদাহরণ দেখতে চান তবে উত্সটি একবার দেখুন।


9

এখানে আমার ফাংশনটি নির্বাচিত বিকল্পটি পরিবর্তন করছে। এটি jQuery 1.3.2 এর জন্য কাজ করে

function selectOption(select_id, option_val) {
    $('#'+select_id+' option:selected').removeAttr('selected');
    $('#'+select_id+' option[value='+option_val+']').attr('selected','selected');   
}



3

আমি ইতিমধ্যে উল্লিখিত টেক্সটেলা প্লাগইন জুড়ে এসেছি , যা আমাকে এটির মতো সমাধান করতে দেয়:

$(document).ready(function(){
    if ( $("#context").selectedValues() == false) {
    $("#context").selectOptions("71");
    }
});


2

এটি আমার কাছে একটি দ্রুত স্ক্রিপ্ট ছিল যা কাজ করেছিল ...। ফলাফল একটি লেবেলে বরাদ্দ করা হয়েছে।

$(".Result").html($("option:selected").text());

1

আপনি ছেলেরা নির্বাচনের জন্য খুব বেশি কিছু করছেন। শুধু মান অনুসারে নির্বাচন করুন:

$("#mySelect").val( 3 );

2
অন্য বিকল্পটি ইতিমধ্যে নির্বাচিত না থাকলে এটি 3 বিকল্প নির্বাচন করছে।
জর্ডান রায়ান মুর


1

আমি যাচাই করার জন্য একটি ভাল উপায় খুঁজে পেয়েছি, অপশনটি নির্বাচন করা থাকলে এবং যখন না হয় তখন একটি ডিফল্ট নির্বাচন করে।

    if(!$('#some_select option[selected="selected"]').val()) {
        //here code if it HAS NOT selected value
        //for exaple adding the first value as "placeholder"
        $('#some_select option:first-child').before('<option disabled selected>Wybierz:</option>');
    }

তাহলে #some_select has't ডিফল্ট নির্বাচিত বিকল্পটি তারপর .val () হল অনির্ধারিত



0
$("#select_box_id").children()[1].selected

এটি কোনও বিকল্প যাচাইয়ের অন্য উপায় যাচাইয়ের মধ্যে নির্বাচন করা হয় বা না। এটি বুলিয়ান (সত্য বা মিথ্যা) ফিরিয়ে দেবে।

[1] নির্বাচন বাক্স বিকল্পের সূচক


0

নির্বাচন বাক্সে ইভেন্টটিকে আগুনে পরিবর্তন করুন এবং এটি একবার হয়ে গেলে কেবলমাত্র নির্বাচিত বিকল্পটির আইডি বৈশিষ্ট্যটি টানুন: -

$("#type").change(function(){
  var id = $(this).find("option:selected").attr("id");

  switch (id){
    case "trade_buy_max":
      // do something here
      break;
  }
});

0

আমি সেরকম কিছু সন্ধান করছি এবং এটি পেয়েছি:

$('.mySelect:not(:has(option[selected])) option[value="2"]').attr('selected', true);

এটি ক্লাসে সমস্ত নির্বাচিত মেনু খুঁজে পেয়েছে যার মধ্যে ইতিমধ্যে একটি বিকল্প নির্বাচন করা হয়নি এবং এটি ডিফল্ট বিকল্পটি নির্বাচন করে (এই ক্ষেত্রে "2")।

আমি এর :selectedপরিবর্তে ব্যবহারের চেষ্টা করেছি [selected], তবে এটি কার্যকর হয়নি কারণ কিছু কিছু না থাকলেও সর্বদা নির্বাচিত থাকে


0

আপনার যদি কোনও "নির্বাচিত" বৈশিষ্ট্যটি এটি করতে পারেন তা স্পষ্ট করে প্রতিটি বিকল্প চেক করতে হবে। অন্যথায় ব্যবহার করে option:selectedআপনি প্রথম ডিফল্ট বিকল্পের জন্য মান পাবেন।

var viewport_selected = false;      
$('#viewport option').each(function() {
    if ($(this).attr("selected") == "selected") {
        viewport_selected = true;
    }
});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.