سلام دوستان
میخوام با زدن روی یه دکمه اطلاعات با json از بانک فراخوانی بشه و داخل همون صفحه بدون رفرش به صورت popup نمایش داده بشه
برای نمایش کالا ها از لیست ویو استفاده کردم که اطلاعات رو از بانک بخونه
من از یه فیلد hidden field استفاده کردم که آیدی اون کالا رو داخل خودش بگیره و وقتی روی عنوان کالا کلیک شد با json آیدی hidden field رو بگیره و ارسال کنه و اطلاعات رو بخونه و نمایش بده تو صفحه
مشکل اینجاست که وقتی رو هر کدوم از کالاها کلیک میشه فقط مشخصات کالای اول ثبت شده در بانک خونده میشه !!!
نمیدونم مشکل از hiddenfiled که نمیتونه خودشو رفرش کنه یا چیز دیگه؟!
لطفا کمک کنید ...
این کد json
<script type="text/javascript"> $(document).ready(function () { BindControls(); $.ajaxSetup({ cache: false }); }); function BindControls() { // var nameValue = $("#HiddenField1").val(); var nameValue = $("#Label1").text(); var jsonData = { 'Id': nameValue, } jsonData = JSON.stringify(jsonData); $.ajax({ url: "WebService2.asmx/EmployeeDetails", data: jsonData, dataType: "json", type: "POST", contentType: "application/json; charset=utf-8", success: function (data) { if (data.d != '') { $('span[id=l_Address]').text(data.d.Price); $('span[id=l_Onvan]').text(data.d.Onvan); } } }); } </script>
اینم کد صفحه aspx:
<asp:ListView ID="pro" runat="server" ClientIDMode="Static" GroupItemCount="5" ViewStateMode="Enabled"> <LayoutTemplate> <table style="float:right;"> <tr> <td> <table> <asp:PlaceHolder runat="server" ID="groupPlaceHolder"></asp:PlaceHolder> </table> </td> </tr> </table> </LayoutTemplate> <GroupTemplate> <tr style="border:none;float:right;"> <asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder> </tr> </GroupTemplate> <ItemTemplate> <td style="border:none;float:right"> <div class="t_main_p"> <div class="t_pic_p"> <asp:Label ID="Label1" runat="server" Text='<%#Eval("Id")%>'></asp:Label> <a href='<%# Eval("Id","home.aspx?smf={0}") %>' style="text-decoration:none;font-size:13px;"> <img src='<%#Eval("Logo") %>' alt="" height="120px" width="120px" /></a> <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("Id")%>' /> </div> <div class="t_text_p"><a onclick="BindControls()" href="#" data-reveal-id="smf" style="text-decoration:none;font-size:13px;"><%#Eval("Head_Text")%></a></div> </div> </td> </ItemTemplate> <EmptyDataTemplate> <div style="text-align:center;color:#656565;direction:rtl;font-family:Tahoma;font-size:14px;"> محصولی ثبت نشده است </div> </EmptyDataTemplate> </asp:ListView> <div style="text-align:justify;width:600px;float:right;direction:rtl;font-size:14px;" id="smf" class="reveal-modal"> <asp:Label ID="l_Onvan" runat="server" Text="Label"></asp:Label><br /> <asp:Label ID="l_Address" runat="server" Text="Label"></asp:Label> </div>
سلام.
خب معلومه فقط اطلاعات کالای اول خوانده می شه.
شما می خواهی با کلیک روی متن کالا ای دی اون کالا توسط جی کوئری گرفته بشه پس باید ای دی هر کالا رو داخل متن کالا قرار بدی نه hiddenField.
بعد توسط جی کونری مقداری Idهمون کالایی که روش کلیک شده رو به راحتی به دست می اری.پس نیاز به hiddenField نیست.
ممنونم دوست عزیز
نمیدونم منظورت همین کاری بود که من کردم یا نه
ولی من آیدی رو داخل لیبل هم که قرار دادم بازم همین مشکل وجود داشت !!!
شما باید با جی کونری ای دی محصولی که روش کلیک شده به دست بیارید.یعنی باید از thisاستفاده کنید.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)