جافا سكريبت: الحصول على قيمة المنسدلة
-
13-09-2019 - |
سؤال
لدي 3 كومبو HTML / صناديق المنسدلة. كلهم لديهم اسم متميز ومعرف. في حدث معين، أريد الحصول على قيمة كل ثلاثة منهم. هل يمكن لأي شخص أن يعطيني مقتطف رمز لذلك؟
المحلول
باستخدام jQuery:
$("#dropdownID").val();
نصائح أخرى
سأحاول ضبطها بجانب بعضها البعض في HTML الخاص بك ثم تكرار من خلالها باستخدام طريقة JQuery المدمجة في كل (). كنت قد قمت بإعداد عناصرك مثل هذا:
<div id="dropdownBoxes">
<select id="firstElement">
<option>cool</option>
<option>neat</option>
</select>
<select id="secondElement">
<option>fun</option>
<option>awesome</option>
</select>
<select id="thirdElement">
<option>great</option>
<option>synonym</option>
</select>
</div>
<input type="button" id="theTrigger">Push me!</input>
ثم، في البرنامج النصي الخاص بك:
var dropdownValues;
$("#theTrigger").click(function(){
dropdownValues.length=0;
$("#dropdownBoxes select").each(function(){
dropdownValues.push($(this).val());
});
});
للقيام بذلك لا يستخدم JQuery:
function getSelectValues() {
var values = [];
for (var i = 0; i < arguments.length; i++) {
var select = document.getElementById(arguments[i]);
if (select) {
values[i] = select.options[select.selectedIndex].value;
} else {
values[i] = null;
}
}
return values;
}
ترجع هذه الوظيفة مجموعة من القيم التي تتوافق مع id
يمكنك تمريرها في الوظيفة، على النحو التالي:
var selectValues = getSelectValues('id1', 'id2', 'id3');
اذا كان <select>
مع واحد من المحدد الخاص بك id
S غير موجود يحتوي على الصفيف null
للقيمة لهذا المنصب.
هناك طرق أخرى للقيام بذلك، يمكنك تمرير وظيفة مجموعة من id
القيم: getSelectValues([ 'id1', 'id2', 'id3' ])
, ، في هذه الحالة سيتم تغيير الوظيفة:
function getSelectValues(ids) {
var values = [];
for (var i = 0; i < ids.length; i++) {
// ...
يمكنك أيضا تمرير وظيفة خريطة id
S وملء القيم:
var myMap = { 'id1': null, 'id2': null, 'id3': null };
getSelectValues(myMap);
// myMap['id1'] contains the value for id1, etc
هذا من شأنه أن يغير الوظيفة ليكون:
function getSelectValues(map) {
for (var id in map) {
var select = document.getElementById(id);
if (select) {
map[id] = select.options[select.selectedIndex].value;
} else {
map[id] = null;
}
}
}
استخدم إطارا مثل JQuery المذكور أعلاه أو القيام بذلك بالطريقة المدرسية القديمة. document.getElementById('dropdownId').value
.