0

我有这些js代码;

 $(document).ready(function() {
      $.getJSON("Stations.php", function(jsonData){  
      $.each(jsonData, function(key,value) {
      $('#selectStation')
     .append($("<option></option>")
     .attr("value",key)
     .text(value.name)); 

  });
 });
 });
function sta_callStation(sel){
  $('#noOfPassengers, #infoOfPassengers, #distType,#distParams').empty();
   $('#sta_numberOfIcons').empty();
    $.getJSON('Stations.php', function(station){

        $.each(station, function(sta_key, sta_value) {

        if(sel.value==sta_key)
        {
          $.each(sta_value.passengers, function(j,passengers) 
        {

          //$('#sta_numberOfIcons').append('<i class="icon-user" ></i>');
          var pas_icon = document.createElement("a");
          pas_icon.className = "icon-user";
          pas_icon.id='id_'+(j);
          pas_icon.setAttribute('href', '#');
          pas_icon.setAttribute('rel', 'popover');
          //alert('id_'+(j));
          document.getElementById('sta_numberOfIcons').appendChild(pas_icon); 


      });
        }
  });

  });
  }

这是一些html部分:

Stations
 <select name="selectStation" id="selectStation" onchange="sta_callStation(this);">   
 </select>

首先,当页面加载时,组合框充满了 Station 1 、Station2 等。当我想选择其中一个(指 1、2、3、4 或 5 )时,我正在调用 sta_callStation 函数。我动态创建人物图标给他们一些属性,例如他们的 id;id_1 ,id_2 等。但是之后我如何在鼠标悬停时触发它们,我应该使用它们的类还是 id?选站前: https ://docs.google.com/file/d/0B1RbKsJ4B8eoeW5wdWhLQW85QTQ/edit?usp= sharing 选站后(php随机产生乘客) https://docs.google.com/file/d/ 0B1RbKsJ4B8eoQmYwWVpYbno2NnM/edit?usp=sharing

4

1 回答 1

0

您可以使用一些客户端 UI 框架(例如 Knockout.js)。

如果您想保持您的 UI 相当简单,那么就像您所说的那样,您可以使用人员属性创建类并附加对图标 HTML 元素的引用。创建类的实例时,将 HTML 回调函数链接到您的对象函数。

像这样的东西:

var PassInfo = function (name)
{
  name: name,
  onhover: function ()
  {
    // do something special
  }
};

var passInstance = new PassInfo('passenger1');

$(pas_icon).hover(function()
{
  passInstance.onhover();
});
于 2013-04-12T07:16:47.147 回答