Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 1.908 pregleda

Najnovija ↓

Dropdown, dinamički checkbox i button 06.07.2009. u 12:56 · pre 210 meseci #1
Na strani imam dropdown koji popunim iz baze. U zavisnosti šta se izabere u tom dropdown-u automatski se kreiraju checkbox polja (checkbox polja se nalaze u updatepanelu). Moje pitanje je kako da klikom na dugme vidim koja checkbox polja su selektovana.

Problem je sledeći:
1. iz dropdow-a izaberem stavku 3
2. automatski se naprave tri checkbox-a
3. selektujem/čekiram sva tri box-a
4. kliknem na submit
5. Dobijem poruku da ništa nije selektovano !!!!
6. ponovo selektujem sva tri box-a
7. kliknem na submit
8. dobijem poruku da je selektovano 3 box-a

zašto mi u koraku 5 nije napisao da sam selektovao sva 3 box-a?

strana izgleda ovako.

Code:
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">


    Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
        If not Page.IsPostBack then
            ddl.Items.Add ("1")
            ddl.Items.Add ("2")
            ddl.Items.Add ("3")
        End If      
        CreateControls (cint(ddl.Text ) )
   End Sub

Private Sub CreateControls(count As Integer )
        upp.ContentTemplateContainer.Controls.Clear()
        For x As Integer = 1 to count 
            upp.ContentTemplateContainer.Controls.Add(New CheckBox With {.Checked = False, .Text = x.ToString })
        next
End Sub 

Protected Sub CategoryList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    CreateControls(cint(ddl.Text ))
End Sub

Protected Sub Save_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim sb As New Generic.List(Of String)
    For Each c As Control In upp.ContentTemplateContainer.Controls
        If TypeOf(c) is CheckBox then
            Dim ch As CheckBox = c 
            If ch.Checked = True then
                sb.Add (ch.ID )
            end if        
        End If  
    Next 
    
    If sb.Count > 0 then         
        Result.Text = sb.Count.ToString 
    Else
        Result.Text = "ništa nije selektovano"
    End If 
End Sub
    </script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
        <div>
            <asp:DropDownList runat="server" ID="ddl" AutoPostBack="true" OnSelectedIndexChanged="CategoryList_SelectedIndexChanged">
            </asp:DropDownList>
            <asp:UpdatePanel runat="server" ID="upp" UpdateMode="Conditional">
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="ddl" EventName="SelectedIndexChanged" />
                </Triggers>
                <ContentTemplate>
                    <asp:PlaceHolder runat="server" ID="test"></asp:PlaceHolder>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:Button runat="server" ID="Save" Text="Snimi" OnClick="Save_Click" />
            <asp:Label runat="server" ID="Result"></asp:Label>
        </div>
    </form>
</body>
</html>
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: Dropdown, dinamički checkbox i button 07.07.2009. u 07:52 · pre 210 meseci #2
Dodeli ID kreiranim kontrolama ;)

Code:
 
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">


    Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
        If not Page.IsPostBack then
            ddl.Items.Add ("1")
            ddl.Items.Add ("2")
            ddl.Items.Add ("3")
        End If      
            CreateControls(CInt(ddl.Text))
   End Sub

Private Sub CreateControls(count As Integer )
        upp.ContentTemplateContainer.Controls.Clear()
            For x As Integer = 1 To count
                'Dodeli ID kreiranim kontrolama
                upp.ContentTemplateContainer.Controls.Add(New CheckBox With {.Checked = False, .Text = x.ToString, .ID = x.ToString})
            Next
End Sub 

Protected Sub CategoryList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
    CreateControls(cint(ddl.Text ))
End Sub

Protected Sub Save_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            
          
 
            Dim sb As New Generic.List(Of String)
            For Each c As Control In upp.ContentTemplateContainer.Controls
                If TypeOf (c) Is CheckBox Then
                    Dim ch As CheckBox = c
                    If ch.Checked = True Then
                        sb.Add(ch.ID)
                    End If
                End If
            Next

            
    
            If sb.Count >= 0 Then
                Result.Text = sb.Count.ToString
            Else
                Result.Text = "ništa nije selektovano"
            End If
          
End Sub
    </script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div>
            <asp:DropDownList runat="server" ID="ddl" AutoPostBack="true" OnSelectedIndexChanged="CategoryList_SelectedIndexChanged">
            </asp:DropDownList>
            <asp:UpdatePanel runat="server" ID="upp" UpdateMode="Conditional">
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="ddl" EventName="SelectedIndexChanged" />
                </Triggers>
                <ContentTemplate>
                    <asp:PlaceHolder runat="server" ID="test"></asp:PlaceHolder>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:Button runat="server" ID="Save" Text="Snimi" OnClick="Save_Click" />
            <asp:Label runat="server" ID="Result"></asp:Label>
        </div>
    </form>
</body>
</html>




Happy Coding :);)
Potpis
To sto nekoliko miliona ljudi tvrdi da nisi u pravu ne znaci da stvarno nisi - Frank Zappa

https://youtu.be/DLe358DPGXU
Re: Dropdown, dinamički checkbox i button 07.07.2009. u 10:58 · pre 210 meseci #3
Sinoć sam došao na ideju da u firebug-u vidim da li je postback isti oba puta, pa kad sam video da kontrola jednom ima id "ctl04", a drugi put "ctl02" shvatio sam šta sam zaboravio :)

Hvala u svakom slučaju
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme