How to Capture Text of Items When Clicked: Difference between revisions

From ElixirBlocks
Jump to: navigation, search
(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)}...")
 
No edit summary
 
Line 7: Line 7:


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


   def mount(_params, _session, socket) do
   def mount(_params, _session, socket) do
Line 30: Line 32:


end
end




</source>
</source>

Latest revision as of 18:48, 10 June 2024

Example

defmodule AppWeb.PageLive do
  use AppWeb, :live_view


  def render(assigns) do
    ~H"""
    <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