2016-02-06 3 views
1

Я новичок в jquery, и я пытаюсь внедрить несколько кнопок в один и тот же модальный (бутстрап), чтобы он отображал соответствующий контент с помощью другого нажатия кнопки.jquery: как получить различный контент с помощью нажатия на кнопку?

У меня есть следующий код:

$(".demo").click(function(){ 

    var demo2title = "title 2"; 
    var demo1title = "title 1"; 

    var demoID = $(this).attr("id"); 
    var demoTitle = demoID.concat("title"); 
    $(".title").html(demoTitle); 
}); 

demoTitle предполагают, чтобы сцепить щелкнул элемент и объединить его с "title", чтобы создать т.д .: demo2 + название = demo2title. , а затем .html(demoTitle) - это отображение объекта var (demo2title). но он просто отображает «demo2title» в качестве названия, а не «title 2» ...

Что мне делать? Благодаря!

ответ

2

demo1title и demo2title являются переменными, в то время как значение demoTitle является строка. Таким образом, .html(demoTitle) будет устанавливать HTML в содержание его строкового значения, а не значение переменной с тем же именем, что и строка.

Единственный способ получить доступ к идентификатору по строке - через [] со свойствами. Например:

var titlesByID = { 
    demo1: 'title 1', 
    demo2: 'title 2' 
}; 

$(".demo").click(function(){  
    var demoID = $(this).attr("id"); 
    var demoTitle = titlesByID[demoID]; 
    $(".title").html(demoTitle); 
}); 
+0

спасибо, это сработало: D – user5890887