چطوری با جاوا اسکریپت به مقدار تکست باکس های داخل GridView دسترسی پیدا کنیم؟
:گریه::قهقهه::گریه::گریه:سلام دوستان.واسه پروژه پایان ترمم به مشکل بزرگی برخوردم که هرچقدر سایتای ایرانی و خارجی رو سرچ کردم به جوابم نرسیدم.
یه گرید ویو دارم که دارای 3 ستون هست که داخل هر ستون یه تکست باکس گذاشتم.
میخام وقتی که کاربر داخل تکست باکس اول که مربوط به قیمت یک محصول هست و داخل تکست باکس دوم که مربوط به قیمت هر واحد محصول هست عددی رو وارد کرد بلافاصله این 2 مقدار در هم ضرب بشن و داخل تکست باکس سوم نتیجه ریخته بشه.
میخام با رویداد Text_Changed این کار انجام بشه
و نکته مهم این که من حدود 30 تا گرید دارم و اگه بخوام از برنامه نویسی سمت سرور استفاده کنم فکر میکنم حجم پردازش سنگین میشه بنابراین میخام از JavaScript استفاده کنم.
خوهشا منو به سایتای دیگه پاس ندید اگه کسی میتونه قطعه کدش رو برام بزاره یه دنیا ممنونشم.
فقط سریع تر:گیج::گریه:
نقل قول: چطوری با جاوا اسکریپت به مقدار تکست باکس های داخل GridView دسترسی پیدا کنیم؟
نقل قول: چطوری با جاوا اسکریپت به مقدار تکست باکس های داخل GridView دسترسی پیدا کنیم؟
نقل قول:
نوشته شده توسط
Saman Hashemi
داداش ازین که جواب دادی ممنون ولی گفتم که تمام سایتای خارجی رو چک کردم از جمله سایتی که گفتی اما مشکلی که من با این کد ها دارم تو این قسمته:
var objGridView = document.getElementById('<%=GridView1.ClientID%>');
cellValue = objGridView.rows[rowIdx].cells[col].value;
این دستورات به نظر من واسه سمت سروره نه سمت کلاینت.اصلا جاوا اسکریپت همچین متدی objGridView.rows مثلا نداره.
جالبه همه سایتا ازین کدا دارن در صورتی که تو جاوا اینا جواب نمیده.خودم امتحان کردم.
منتظر جوابم
نقل قول: چطوری با جاوا اسکریپت به مقدار تکست باکس های داخل GridView دسترسی پیدا کنیم؟
برای این کار از جی کوئری استفاده نمایید!
فرض کنید سه تا تکست باکس در گیرید ویو دارید : به این تکست باکس ها کلاسهای txt1 :txt2 : txt3 نسبت دهید .
<asp:GridView ID="GridView1" runat="server"
EnableModelValidation="True">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" CssClass="txt1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" CssClass="txt2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox3" CssClass="txt3" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
و کد جاوا اسکریپت :
<script language="javascript">
$(document).ready(function () {
$(".txt1,.txt2").keyup(function () {
var a = $(this).val();
var b = $(this).parent().parent().find('.txt2').val();
//your op!
var c = parseInt(a) +parseInt( b);
$(this).parent().parent().find('.txt3').val(c);
});
});
</script>
یادت نره که باید فایل js جی کوئری رو بهش اد کنی
نقل قول: چطوری با جاوا اسکریپت به مقدار تکست باکس های داخل GridView دسترسی پیدا کنیم؟
نقل قول:
نوشته شده توسط
ASPX
برای این کار از جی کوئری استفاده نمایید!
فرض کنید سه تا تکست باکس در گیرید ویو دارید : به این تکست باکس ها کلاسهای txt1 :txt2 : txt3 نسبت دهید .
<asp:GridView ID="GridView1" runat="server"
EnableModelValidation="True">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" CssClass="txt1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" CssClass="txt2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox3" CssClass="txt3" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
و کد جاوا اسکریپت :
<script language="javascript">
$(document).ready(function () {
$(".txt1,.txt2").keyup(function () {
var a = $(this).val();
var b = $(this).parent().parent().find('.txt2').val();
//your op!
var c = parseInt(a) +parseInt( b);
$(this).parent().parent().find('.txt3').val(c);
});
});
</script>
یادت نره که باید فایل js جی کوئری رو بهش اد کنی
داداش ممنون میشه بیشتر توضیح بدی ؟ از جی کویری سر در نمیارم.
نقل قول: چطوری با جاوا اسکریپت به مقدار تکست باکس های داخل GridView دسترسی پیدا کنیم؟