Добавление текста из JS var при изменении события с помощью jquery - PullRequest
0 голосов
/ 10 марта 2009

Я пытаюсь сделать что-то подобное. Я хочу добавить текст, хранящийся в некоторых переменных JS, в документ на основе значения, выбранного в комбо. то есть как я могу ссылаться на переменные JS на основе выбранного значения комбо?

<select id="clickMe">
    <option value="a">a</a>
    <option value="b">b</a>
    <option value="c">c</a>
</select>

<span id="attachHere"></span>   

<script>

var a = "something about a";
var b = "something about b";
var c = "something about c";

$(document).ready(function() {
    $("#clickMe").change(function() {
        $("#attachHere").text($("#clickMe").val());
    });
});


</script>

Ответы [ 3 ]

4 голосов
/ 10 марта 2009

Почему бы не пойти с чем-то подобным вместо этого?

<script>
<!--

var values = {
    'a' : "something about a",
    'b' : "something about b",
    'c' : "something about c",
};

$(document).ready(function() {
    $("#clickMe").change(function() {
        $("#attachHere").text(values[$("#clickMe").val()]);
    });
});

//-->
</script>

Вы будете контролировать свой список значений и сможете легко добавлять и удалять значения.

3 голосов
/ 10 марта 2009

Было бы лучше, если бы вы использовали массивы объекты.

Если вы не хотите использовать массивы, я думаю, вы можете использовать eval:

$(document).ready(function() {
    $("#clickMe").change(function() {
        var tmp;
        eval('tmp = ' + $("#clickMe").val());
        $("#attachHere").text(tmp);
    });
});
2 голосов
/ 10 марта 2009

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

var choices = {};
choices['a'] = 'something about a';
choices['b'] = 'something about b';
choices['c'] = 'something about c';

$(document).ready(function() {
    $("#clickMe").change(function() {
        $("#attachHere").text(choices[$(this).val()]);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...