سؤال

لدي 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> مع واحد من المحدد الخاص بك idS غير موجود يحتوي على الصفيف null للقيمة لهذا المنصب.

هناك طرق أخرى للقيام بذلك، يمكنك تمرير وظيفة مجموعة من id القيم: getSelectValues([ 'id1', 'id2', 'id3' ]), ، في هذه الحالة سيتم تغيير الوظيفة:

function getSelectValues(ids) {
    var values = [];
    for (var i = 0; i < ids.length; i++) {
    // ...

يمكنك أيضا تمرير وظيفة خريطة idS وملء القيم:

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 .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top