Вставка переменной в DIV в функции Javascript

Просто чтобы сказать, если я говорю неправильный жаргон, у меня буквально меньше 4 часов опыта работы с Javascript для начинающих. Я пытаюсь добавить переменную в конец предопределенного DIV, который находится в javascript.

Например, вот переменная:

<?php 
    $n = rand(10e16, 10e20);
    $x = base_convert($n, 10, 36);
?>

Вот используемая переменная:

<input type="button" name="osx<?php echo $x;?>" value="View" class="osx<?php echo $x;?>" id="osx<?php $x;?>"/>

<div id="osx-modal-content<?php echo $x;?>" style="display:none">

В функции javascript у меня сейчас есть это:

jQuery(function ($) {
var OSX = {
    container: null,
    init: function () {
        $("[id^=osx").click(function (e) {
            e.preventDefault(); 
            $("[id^=osx-modal-content]").modal({OPTIONS});

И это:

    open: function (d) {
        var self = this;
        self.container = d.container[0];
        d.overlay.fadeIn('slow', function () {
            $("[id^=osx-modal-content]" + $x, self.container).show();

Видимо, «начинается с» - не лучшее решение. Поскольку, когда происходит событие onclick, оно вызывает активацию всех DIVS на странице, которые начинаются с osx-modal-content. Так что это нужно доработать.

Как мне добавить переменную в javascript, чтобы она вроде ....

$("osx" + $x).click(function (e) {
$("#osx-modal-content" + $x).modal({OPTIONS});
$("#osx-modal-content" + $x, self.container).show();

что, например, скажем $ x = 12345, чтобы Javascript читал это как .....

 $("osx12345")      etc..........
 $("#osx-modal-content12345")    etc.......
 $("#osx-modal-content12345", self.container   etc.......

person Justin Lucas    schedule 12.04.2012    source источник
comment
Гм, да. То, что вы написали, должно работать. Что-то не работает?   -  person idrumgood    schedule 12.04.2012
comment
Код ТОЧНО соответствует тому, как вы его разместили? Поскольку вы нажимаете событие во втором абзаце с последнего, в селекторе jquery нет символа #   -  person mattytommo    schedule 12.04.2012
comment
Извините, ребята, подумал, что этого будет достаточно. Javascript не встроен в код в нижнем колонтитуле и вытаскивается при загрузке страницы, я думаю? Я получаю эту ошибку при проверке с помощью Chrome: Uncaught ReferenceError: $ x не определен. Вы можете просмотреть полный код на странице stackoverflow.com/questions/10126931/   -  person Justin Lucas    schedule 12.04.2012
comment
Я пошел дальше и отключил js и поместил функцию в код внутри цикла, но все еще без сигары.   -  person Justin Lucas    schedule 12.04.2012


Ответы (1)


<script>
var osx = "osx<?php echo $x;?>";
</script>

Затем вы можете использовать переменную osx в своих селекторах jQuery.

person standup75    schedule 12.04.2012
comment
Спасибо за ответ, я не совсем уверен, где мне это реализовать? не могли бы вы посмотреть здесь код .... stackoverflow.com/questions/10126931/ - person Justin Lucas; 12.04.2012
comment
вы можете поместить его в тег скрипта, например, после того, как вы поместите значение в переменную x, ниже вы можете поместить код, написанный стоя, а затем после того, как ваш javascript может использовать переменную osx, короче говоря, вам нужно поместить значение php в переменная javascript. ‹? Php $ x = 12345;?› ‹Script› var osx = ‹? Php echo $ x; ? ›‹/Script› теперь вы можете получить доступ к значению в javascript - person SuperNoob; 19.04.2012