1

当光标悬停到链接时,我想使用来自 db 的动态数据制作弹出工具提示,但我做错了。请更正我的代码。

我的观点

    <script type="text/javascript">
        $(document).ready(function() {
            $('.tip').tooltip();
        });
    </script>
    <script type="text/javascript" language="javascript">
        jQuery(document).ready(function(){
       $('#something').mouseover(function(){
        $.ajax({
         url: "<?=base_url();?>aircraft/tip",
         type: 'POST',
         data: {
          'id': $(this).attr("rel"),
         },
         dataType: 'json',
         success: function(aircraft_j) {
                  $('#something').attr('data-original-title',aircraft_j);  
              }
        });
        return false;
       });
      });
      </script>

    <a href="#" data-toggle="tooltip" data-placement="right" id="something" title="" 
data-original-title="" rel="1" class="tip">aircraft</a>

我的控制器

 function tip() {
    $this->output->enable_profiler(false);
    if($this->input->server('HTTP_X_REQUESTED_WITH') != 'XMLHttpRequest'){ echo "fail. try something else"; return; }
    $this->load->model('aircraft_model');
    $idd = $this->input->post('id');
    $aircraft_j = array();
    $aircraft_j = $this->aircraft_model->get_aircraft_tip($idd);
    echo json_encode($aircraft_j);
    }

我的模型

 function get_aircraft_tip($idd) {
    $this->db->where('id',$idd);
    $query = $this->db->get('aircraft');
    return $query->row_array();
    }
4

1 回答 1

0

好的,正如您所说,您正在使用引导工具提示。你应该这样做:

在您的 html 中:

<a href="#" data-toggle="tooltip" id="something" title="" 
data-original-title="tooltip data goes here">whatever you want</a>

ajax正如我所看到的,你的和 CI没有问题,controller但你必须对你的这样的稍作改变success function

success: function(aircraft_j) {
                  $('#something').attr('data-original-title',aircraft_j);  
              }

另外:您可以阅读可能对您有帮助的prop() 。

你可能遇到的问题..

在您的CI tip function我看来echo json_encode($aircraft_j);,您的$aircarft_j变量应该是“字符串”数据类型。正如我所看到的,您正在$query->row_array();从模型中返回,因此您可能需要将其作为 array 使用在这里 你可以找到一个很好的解释。

于 2013-02-08T18:38:23.733 回答