【问题标题】:how to add mouse event to set of divs and load data from database form click div?如何将鼠标事件添加到 div 集并从数据库表单加载数据单击 div?
【发布时间】:2015-11-05 04:30:24
【问题描述】:

我正在使用 Laravel 5 做项目。我根据一些动态数字制作一组 div。 就是这样。

这是创建上述图形的代码。

 <section class="content">   
        <div class="box box-warning" align="center">
            <div class="gap">
                <div class="box-body">                
                    @foreach($rooms as $room)
                    @if($room->roomState === 'Available')
                    <div  id='divelementone' style="width:75px;height:75px;border:1px solid #000;display:inline-block;background-color:yellowgreen;border-radius: 5px;padding-left:10px;padding-right:10px;">{{$room->room_code}}</div>
                    @elseif ($room->roomState === 'UnAvailable')
                    <div  id='divelementtwo' style="width:75px;height:75px;border:1px solid #000;display:inline-block;background-color:red;border-radius: 5px;padding-left:10px;padding-right:10px;">{{$room->room_code}}</div>
                    @elseif ($room->roomState === 'notCheckIn')
                    <div  id='divelementthree' style="width:75px;height:75px;border:1px solid #000;display:inline-block;background-color:yellow;border-radius: 5px;padding-left:10px;padding-right:10px;">{{$room->room_code}}</div>   

                    @endif
                    @endforeach
                </div>
            </div>
        </div><!-- /.box --> 
</section><!-- /.content -->

现在我想将每个 div(square) 元素附加到鼠标单击事件。当鼠标悬停在 div 上时,更改鼠标指针并获取一些特定于数据库值的 id,并且我想在工具提示或 div(Square)上方的某个合适面板中查看该值。

我尝试使用 JavaScript 来附加鼠标点击事件,但它只适用于第一个 div(square)。

我是 web 开发的新手,所以我不知道如何处理这个要求。请尽快得到专家的帮助。

注意: 我的主要目的是将鼠标单击事件附加到每个 div 并从 db 加载数据并查看它们的工具提示或选项窗格。

【问题讨论】:

  • div:hover { background: red; }?
  • @Tushar 我应该输入这段代码吗?您知道将鼠标单击事件附加到每个 div 并从数据库加载数据吗?

标签: javascript jquery html css ajax


【解决方案1】:

试试这个:

将 JavaScript onclick() 事件附加到每个 div。

在视野中(刀片)

<div class="box-body">                
      @foreach($rooms as $room)
       @if($room->roomState === 'Available')
         <div onclick="divClick('Available', {{$room->room_code}})" id='divelementone' style="width:75px;height:75px;border:1px solid #000;display:inline-block;background-color:yellowgreen;border-radius: 5px;padding-left:10px;padding-right:10px;">{{$room->room_code}}</div>
       @elseif ($room->roomState === 'UnAvailable')
         <div onclick="divClick('UnAvailable', {{$room->room_code}})" id='divelementtwo' style="width:75px;height:75px;border:1px solid #000;display:inline-block;background-color:red;border-radius: 5px;padding-left:10px;padding-right:10px;">{{$room->room_code}}</div>
       @elseif ($room->roomState === 'notCheckIn')
         <div onclick="divClick('notCheckIn', {{$room->room_code}})" id='divelementthree' style="width:75px;height:75px;border:1px solid #000;display:inline-block;background-color:yellow;border-radius: 5px;padding-left:10px;padding-right:10px;">{{$room->room_code}}</div>   
       @endif
      @endforeach    
</div>

在 JavaScript 中

<script type="text/javascript">
  function divClick(roomState, roomCode)
  {
    // Your code here
    // Ajax code for fetching data from DB


    // Alert the passed room code like this
    window.alert(roomCode);
  }
</script>

要更改鼠标指针,请使用 CSS 样式 div:hover { cursor:pointer; }。此外,最好为 div 样式链接一个单独的 CSS 文件。

希望这有帮助。

【讨论】:

  • 是的,这很有帮助。感谢您的帮助。现在,当单击 div 时,它将调用该函数。您对在 javascript 中加载数据有任何想法吗?
  • 您可以发送 AJAX 请求以从数据库中获取值并使用此 AJAX 响应进行数据加载。您要加载什么数据? ?
  • 谢谢先生,我会试试的。我想获取与 roomCode 相关的 mysql 数据库表值,以及作为工具提示或选项窗格可见的值。
  • ,我想将房间代码值传递给 javascript。但我将 {{$room->roomCode}} 放入了 divClick。例如 divClick('notCheckIn', {{$room->roomCode}});但通过错误。值未定义。 ?
  • onclick="divClick('notCheckIn', {{$room->room_code}} );"请检查逗号和引号。如果您确定 $room->room_code 不为空,那么我相信这将是语法错误...我可以看到您给出的是 $room->roomCode 而不是 $room->room_code.. 请仔细检查在那
【解决方案2】:

<div class="box-body">                
      @foreach($rooms as $room)
         <div onclick="divClick({{$room->roomState}}), {{$room->room_code}})" id='divelementone' style="width:75px;height:75px;border:1px solid #000;display:inline-block;background-color:yellowgreen;border-radius: 5px;padding-left:10px;padding-right:10px;">{{$room->room_code}}</div>
      @endforeach    
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多