How to Capture Text of Items When Clicked

From ElixirBlocks
Revision as of 18:40, 10 June 2024 by Admin (talk | contribs) (Created page with "=Example= <source> defmodule AppWeb.PageLive do use AppWeb, :live_view def render(assigns) do ~L""" <div id="list-container"> <ul> <%= for item <- @items do %> <li phx-click="capture_text" phx-value-text="<%= item %>"><%= item %></li> <% end %> </ul> </div> """ end def mount(_params, _session, socket) do items = ["Item 1", "Item 2", "Item 3"] # Example list items {:ok, assign(socket, items: items)}...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Example

defmodule AppWeb.PageLive do
  use AppWeb, :live_view


  def render(assigns) do
    ~L"""
    <div id="list-container">
      <ul>
        <%= for item <- @items do %>
          <li phx-click="capture_text" phx-value-text="<%= item %>"><%= item %></li>
        <% end %>
      </ul>
    </div>
    """
  end

  def mount(_params, _session, socket) do
    items = ["Item 1", "Item 2", "Item 3"] # Example list items
    {:ok, assign(socket, items: items)}
  end

  def handle_event("capture_text", %{"text" => text}, socket) do
    IO.inspect(text) # Handle the captured text as needed
    {:noreply, socket}
  end


end