আমি কীভাবে আইকিউ পাস করে jQuery এর মাধ্যমে একটি নির্বাচনের সমস্ত বিকল্প পেতে পারি?
আমি কেবল তাদের মানগুলি পেতে চাইছি, পাঠ্যটি নয়।
আমি কীভাবে আইকিউ পাস করে jQuery এর মাধ্যমে একটি নির্বাচনের সমস্ত বিকল্প পেতে পারি?
আমি কেবল তাদের মানগুলি পেতে চাইছি, পাঠ্যটি নয়।
উত্তর:
ব্যবহার করুন:
$("#id option").each(function()
{
// Add $(this).val() to your list
});
$.map
অনেক বেশি মার্জিত এবং কম ত্রুটিযুক্ত প্রবণ (নীচে দেখুন)।
$('#id option').map((index, option) => option.value)
: "ভ্যানিলা" জেএস map
ফাংশনের তুলনায় কলব্যাক স্বাক্ষরটি কীভাবে বিপরীত হয়েছে তা নোট করুন ( (item, index) =>
)
আমি jQuery জানি না, তবে আমি জানি যে আপনি যদি নির্বাচিত উপাদানটি পান তবে এতে একটি 'অপশন' অবজেক্ট থাকে।
var myOpts = document.getElementById('yourselect').options;
alert(myOpts[0].value) //=> Value of the first option
$.map
এটি সম্ভবত সবচেয়ে দক্ষ উপায়।
var options = $('#selectBox option');
var values = $.map(options ,function(option) {
return option.value;
});
আপনি $('#selectBox option:selected')
যদি কেবলমাত্র নির্বাচিতগুলি চান তবে আপনি পরিবর্তন বিকল্পগুলি যুক্ত করতে পারেন।
প্রথম লাইনটি সমস্ত চেকবাক্স নির্বাচন করে এবং তাদের jQuery উপাদানকে একটি পরিবর্তনশীল হিসাবে রাখে। তারপরে আমরা .map
সেই ভেরিয়েবলের প্রতিটি উপাদানগুলিতে একটি ফাংশন প্রয়োগ করতে jQuery এর ফাংশনটি ব্যবহার করি ; আমরা যা করছি তা প্রতিটি উপাদানটির মান ফিরিয়ে দিচ্ছে যা আমাদের যত্নশীল। কারণ আমরা তাদের মানচিত্রের ফাংশনের অভ্যন্তরে ফিরিয়ে দিচ্ছি এটি অনুরোধ অনুসারে প্রকৃতপক্ষে মানগুলির একটি অ্যারে তৈরি করে।
$('#selectBox').val()
নির্বাচিত মানগুলির একটি অ্যারে প্রদান করবে।
কিছু উত্তর ব্যবহার করে each
, তবে map
এখানে আইএমএইচও আরও ভাল বিকল্প:
$("select#example option").map(function() {return $(this).val();}).get();
map
JQuery এ (কমপক্ষে) দুটি ফাংশন রয়েছে। টমাস পিটারসনের উত্তরে "ইউটিলিটিস / জেকিউয়ারি.ম্যাপ" ব্যবহার করা হয়েছে; এই উত্তরটিতে "ট্র্যাভার্সিং / ম্যাপ" ব্যবহার করা হয়েছে (এবং সেজন্য একটি সামান্য ক্লিনার কোড)।
এটি মানগুলির সাথে আপনি কী করতে যাচ্ছেন তার উপর নির্ভর করে। যদি আপনি, ধরুন, কোনও ফাংশন থেকে মানগুলি ফিরিয়ে আনতে চান map
তবে সম্ভবত এটিই আরও ভাল বিকল্প। আপনি যদি মানগুলি সরাসরি ব্যবহার করতে চান তবে আপনি সম্ভবত চান each
।
get()
বেসিক অ্যারে দিয়ে কাজ করা প্রত্যাবর্তিত বস্তুর পক্ষে খুব সাধারণ " " - api.jquery.com/map
text()
পরিবর্তে পরিবর্তিত হয়েছি val()
। ধন্যবাদ ! (আমি আপনাকে 1000 এরও বেশি করে দিতে ;->
$('select#id').find('option').each(function() {
alert($(this).val());
});
$("#id option").each(function()
{
$(this).prop('selected', true);
});
যদিও, সঠিক উপায়টি হ'ল উপাদানটির ডোম সম্পত্তি সেট করা, যেমন:
$("#id option").each(function(){
$(this).attr('selected', true);
});
এটি আপনার #myselectbox
জন্য একটি ভাল পরিষ্কার অ্যারের বিকল্পগুলির মানগুলি রাখবে :
// First, get the elements into a list
var domelts = $('#myselectbox option');
// Next, translate that into an array of just the values
var values = $.map(domelts, function(elt, i) { return $(elt).val();});
$.map(domelts, elt=> $(elt).val())
আপনি আপনার সমস্ত "নির্বাচিত মান" চেকবক্সগুলির নামে নিতে পারেন এবং সেগুলি "," দ্বারা পৃথক স্টিংয়ে উপস্থাপন করতে পারেন।
এটি করার একটি দুর্দান্ত উপায় হল jQuery এর ma। ম্যাপ () ব্যবহার করা:
var selected_val = $.map($("input[name='d_name']:checked"), function(a)
{
return a.value;
}).join(',');
alert(selected_val);
select
এবং option
না চেকবাক্সগুলি।
এটি করার সবচেয়ে কার্যকরী উপায় হ'ল ব্যবহার করা $.map()
উদাহরণ:
var values = $.map($('#selectBox option'), function(ele) {
return ele.value;
});
আপনি তার জন্য নিম্নলিখিত কোডগুলি ব্যবহার করতে পারেন:
var assignedRoleId = new Array();
$('#RolesListAssigned option').each(function(){
assignedRoleId.push(this.value);
});
মাল্টিলেক্ট বিকল্পের জন্য:
$('#test').val()
নির্বাচিত মানগুলির তালিকা প্রদান করে।
$('#test option').length
বিকল্পগুলির মোট সংখ্যা প্রদান করে (উভয় নির্বাচিত এবং নির্বাচিত নয়)
এটি jQuery সহ একটি সাধারণ স্ক্রিপ্ট:
var items = $("#IDSELECT > option").map(function() {
var opt = {};
opt[$(this).val()] = $(this).text();
return opt;
}).get();
var selectvalues = [];
for(var i = 0; i < items.length; i++) {
for(key in items[i]) {
var id = key;
var text = items[i][key];
item = {}
item ["id"] = id;
item ["text"] = text;
selectvalues.push(item);
}
}
console.log(selectvalues);
copy(selectvalues);
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
নির্বাচিত আইটেমের সমস্ত মান, পাঠ্য বা মান, বা নির্বাচিত আইটেমের পাঠ্য পেতে এখানে jquery এ একটি সাধারণ উদাহরণ
$('#nCS1 > option').each((index, obj) => {
console.log($(obj).val());
})
printOptionValues = () => {
$('#nCS1 > option').each((index, obj) => {
console.log($(obj).val());
})
}
printOptionTexts = () => {
$('#nCS1 > option').each((index, obj) => {
console.log($(obj).text());
})
}
printSelectedItemText = () => {
console.log($('#nCS1 option:selected').text());
}
printSelectedItemValue = () => {
console.log($('#nCS1 option:selected').val());
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select size="1" id="nCS1" name="nCS1" class="form-control" >
<option value="22">Australia</option>
<option value="23">Brunei</option>
<option value="33">Cambodia</option>
<option value="32">Canada</option>
<option value="27">Dubai</option>
<option value="28">Indonesia</option>
<option value="25">Malaysia</option>
</select>
<br/>
<input type='button' onclick='printOptionValues()' value='print option values' />
<br/>
<input type='button' onclick='printOptionTexts()' value='print option texts' />
<br/>
<input type='button' onclick='printSelectedItemText()' value='print selected option text'/>
<br/>
<input type='button' onclick='printSelectedItemValue()' value='print selected option value' />
$("input[type=checkbox][checked]").serializeArray();
বা:
$(".some_class[type=checkbox][checked]").serializeArray();
ফলাফলগুলি দেখতে:
alert($("input[type=checkbox][checked]").serializeArray().toSource());
ছোট উপায়
$(() => {
$('#myselect option').each((index, data) => {
console.log(data.attributes.value.value)
})})
অথবা
export function GetSelectValues(id) {
const mData = document.getElementById(id);
let arry = [];
for (let index = 0; index < mData.children.length; index++) {
arry.push(mData.children[index].value);
}
return arry;}