PDA

View Full Version : حرفه ای: ارسال مقدار از کنترل به جاواسکریپت با onclick()



imohsen
سه شنبه 17 اردیبهشت 1392, 11:19 صبح
من می خوام یوزر وقتی روی چک باکس کلیک می کنه با استفاده از رویداد onclick() آی دی چک باکس حاضر رو به یک تابع جاوااسکریپت بفرسته.

یعنی:

onclick = "calc(chbx_25)"

در سمت جاوا اسکریپت هم این کد رو گذاشتم:

function calc(item) {

document.getElementById('<%=chb_25.ClientID%>').click(
function () {


چطور میشه بجای '<%=chb_25.ClientID%>' از پارامتر ورودی تابع بصورت داینامیک استفاده کنم؟

ahmad156
سه شنبه 17 اردیبهشت 1392, 11:36 صبح
<asp:Button runat="server" ID="btnTest" OnClientClick="test(this)" Text="تست"/>

سپس

function test(element) {
alert(element.id);
}

imohsen
سه شنبه 17 اردیبهشت 1392, 14:26 عصر
خیلی ممنون دوست عزیز،
ببین من می خوام بجای اینکه برای 50 تا چک باکس تابع زیر رو تکرار کنم یک دونه بصورت انتزاعی بنویسم که رو همشون کار کنه:

var p = 10000;
function calc() {

document.getElementById('<%=chb_1.ClientID%>').click(
function () {
if (this.checked) {
var obj = document.getElementById('<%=txt_price.ClientID%>');
obj.value = p + 5000;
}
else {
var obj = document.getElementById('<%=txt_price.ClientID%>');
obj.value = p - 5000;
}

});
}

ahmad156
سه شنبه 17 اردیبهشت 1392, 17:42 عصر
ابتدا jquery رو به صفحه تون اضافه کنین
سپس برای همه کنترل هایی که میخواین عمل مشترکی روی اونها انجام بشه نام کلاس یکسانی تنظیم کنین

$(".yourClassName").each(function () {
اعمال مورد نظر شما

});

imohsen
پنج شنبه 19 اردیبهشت 1392, 16:52 عصر
متاسفانه این قضیه برای کنترل های سروری کار نمیکنه! من میخوام وقتی روی چک باکسی کلیک کردم اول ببینم check شده یا uncheck و بعد بسته به هر کدوم یه کار متفاوت انجام بشه.