PDA

View Full Version : پیدا کردن چک باکس در گرید با کد جاوا اسکریپت



mahdidabaghi
دوشنبه 27 آذر 1391, 00:29 صبح
سلام
ایا میشه چک باکسی که توی یه item temolate گرید قرار داره رو با دستورات جاوا اسکریپت رکورد مورد نظرشو پیدا کرد؟(روش سمت سرورشو میدونم که میشه find control کرد)
با سپاس از شما

Behrouz_Rad
دوشنبه 27 آذر 1391, 07:19 صبح
اگر منظورت از "رکورد مورد نظرش"، مشخصه ی رکورد هست، یک span بعد از هر کنترل Check Box قرار بده:

<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkTest" runat="server" />
<span><%# Eval("PrimaryField") %></span>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

و بعد با jQuery به صورت زیر می تونی مشخصه ی رکوردهای انتخاب شدن رو به دست بیاری:
$("#GridView1 input:checkbox:checked").next("span").each(function () {
alert($(this).text());
});

aserfg
دوشنبه 27 آذر 1391, 12:02 عصر
می توانید یک کلاس را به عناصر چک باکس خود نسبت دهید (در صورتی که نخواهید span اضافه کنید ) .مثلا کلاس grd_Checkbox
$('.grd_Checkbox:checked').each(function(){
alert($(this).val());
});

Behrouz_Rad
دوشنبه 27 آذر 1391, 17:17 عصر
می توانید یک کلاس را به عناصر چک باکس خود نسبت دهید

البته امروزه از صفت های *-data برای نسبت دادن اطلاعات اضافی به تگ ها استفاده می کنند.

aserfg
دوشنبه 27 آذر 1391, 19:36 عصر
البته امروزه از صفت های *-data برای نسبت دادن اطلاعات اضافی به تگ ها استفاده می کنند.

در صورتی که صد رکورد در صفحه نمایش داده شود 100 عنصر span که می توانست نباشد به ساختار درختی صفحه اضافه خواهد شد .که نه امروزه ، بلکه از قدیم هم در برنامه نویسی وب کاهش تعداد عناصر به عنوان پارامتری از کارایی مد نظر بوده است .که با توجه به پروتوکل دفع افسد به فاسد ترجیحا اضافه کردن یک صفت کلاس به عنصر گزینه مقبولی خواهد بود .