从jquery中选择基于元素id的javascript变量

时间:2010-06-14 06:17:07

标签: javascript jquery variables

我觉得这是一个简单的问题,但我对javascript和jquery仍然相对较新。

我正在开发一个触摸界面的网站,它使用无序列表和jquery .click函数来获取输入数据。我有一个部分输入m:ss时间,有3个div,每个div包含一个时间数字列表。我需要获取每列的输入并将其设置为变量。我最初设计输入来改变表单输入,因为我不太了解javascript。使用div id更改3个隐藏输入很容易,但我现在无法弄清楚如何使用javascript变量进行操作。

这是我原来的jquery代码......

$("div#time>div>ul>li").click(function() {
    var id = $(this).parents(".time").attr("name");
    var number = $(this).html();
    $("input#"+id).val(number);   });

最后一行设置3个隐藏输入中的一个等于所点击的内容。我需要让它如此单独的变量获取输入,然后我可以操纵那些我想要的变量。

这是html的简短片段,让我们了解jquery如何抓取它。

<div id="time">
  <h1>Time</h1>
  <div name="minute" class="time" id="t_minute">
  M :
     <ul>

全职html在这里:link text

谢谢大家!

我一直用SO来回答我曾经遇到过的很多问题,但是我找不到这个问题,所以我想我会加入,因为我相信我会有更多的问题。< / p>

所以我尝试添加以下内容,但仍然无法让它正常工作。

    window.myValues[id] = number;
event[i].min = myValues["minute"];
event[i].sec = myValues["second"];
event[i].sin = myValues["single"];
event[i].time = String(event[i].min) + String(event[i].sec) + String(event[i].sin);

我在有和没有引号的情况下尝试了它。我没有使用窗口。*任何东西,所以我不太确定如何处理它。

2 个答案:

答案 0 :(得分:2)

这里首先要提一下,不必多具体。在你的例子中

$('#time').find('li').click()

应该足够了。 如果我理解你,你想存储一些数据。你可能想用 jQuery的$.data方法。例如:

$('#time').find('li').click(function(){
    var $this = $(this);
    var name = $this.closest('.time').attr('name');
    $.data(document.body, name, $this.html());
});

这会将点击的li的html存储在一个全局Object中,可以像

一样访问它
alert($.data(document.body, 'minute'));

答案 1 :(得分:0)

你应该能够从window []对象引用变量,所以像window [id]这样的东西应该用来引用变量。