Динамическая справка для выпадающих списков

0

У меня есть несколько выборок, и мне нужно иметь какую-то помощь для каждого элемента в каждом выборе. Я создал массив со значениями для каждого выбора, и теперь мне нужно выбрать выбрать правильный массив для каждого выбора. Пример:

ArrayA[1] = "text";
ArrayA[2] = "text2";

ArrayB[1] = "text";
ArrayB[2] = "text2";

<select id="select1" class="DDL ArrayA">...</select><span class="help">
<select id="select2" class="DDL ArrayB">...</select><span class="help">

Мне нужно поместить текст из массива, который называется классом в поле выбора для диапазона с помощью класса "help". Как я могу это сделать?

Это то, что я имею прямо сейчас:

$(this).parent().children().closest('span').text(ARRAY_NAME[$('option:selected', this).val()]);
Теги:
arrays

1 ответ

0
Лучший ответ

вы можете использовать функцию eval() для анализа соответствующего имени массива из соответствующего select:

пример: FIDDLE

HTML:

<div><select id="SEL1" class="DDL Array">
    <option selected value="-1" disabled="disabled">choose something</option>
    <option value="1">one</option>
    <option value="2">two</option>
    </select><span class="help"></span></div>
<div><select id="SEL2" class="DDL Array">
    <option selected value="-1" disabled="disabled">choose something</option>
    <option value="1">one</option>
    <option value="2">two</option>
</select><span class="help"></span></div>

JavaScript:

$(function () {
    var ArraySEL1=[],ArraySEL2=[];
    ArraySEL1[1] = "array 1 text";
    ArraySEL1[2] = "array 1 text2";

    ArraySEL2[1] = "array 2 text";
    ArraySEL2[2] = "array 2 text2";

    $("select").change(function () {
        var id_of_current_select = $(this).attr("id");
        var selected_value = $(this).val();
        var the_help_text = eval("Array"+id_of_current_select+"["+selected_value+"]");
        $(".help",$(this).parent()).html(the_help_text);

    });
});
  • 0
    Спасибо, это именно то, что мне было нужно. Никогда не слышал о Eval прежде :)
  • 0
    рад, что мог помочь :) Eval делает чудеса, он выполняет JavaScript из простого текста

Ещё вопросы

Сообщество Overcoder
Наверх
Меню