PDA

View Full Version : مشکل در گروه کردن checkBox control



baran110
پنج شنبه 20 دی 1386, 11:25 صبح
با سلام
من در حال نوشتن پروژه ای هستم که در آن از یک ریپیتر استفاده می کنم.
در این ریپیتر تعدادی رادیو باتن هست. که در یک گروه می باشند.مثلا جواب سوالی یکی از مقادیر چهار رادیو باتنی است که انتخاب کرده . حالا می خواهم کاری کنم که وقتی کاربر پاسخی را وارد کرده اگر پشیمان شد و خواست هیچ جوابی برای سوال مورد نظر وارد نکند پاسخ خود را بی جواب بگذارد.پس باید بتواند مقدار رادیو یاتن را بردارد و یا از دکمه ای برای پاک کردن جواب استفاده کند. این کار باید در سمت کلاینت انجام شود.البته یک راه دیگر که به ذهنم رسید برای حل این مشکل استفاده از چک باکس بود که در این صورت باید آنها گروه می کردم ولی موفق نشدم.اگر کسی در مورد گروه کردن چک باکس ها چیزی می داند ممنون می شوم به من هم بگوید.:افسرده:

Aidin
جمعه 21 دی 1386, 06:05 صبح
منظورتون از گروه کردن اینه که فقط یکی انتخاب بشه ؟؟
اگر قرار باشه از بین CheckBox ها یکی انتخاب بشه که دیگه استفاده از CheckBox لزومی نداره و میشه همون RadioButton .

mahdi_farhani
جمعه 21 دی 1386, 07:16 صبح
خوب یک کار دیگه هم میتونی بکنی ، اونم اینکه که یه گزینه به گزینه هات اضافه کنی به عنوان بدون پاسخ .
اگر هم سرور ساید بخواهی دستورش این میشه


RadioButtonList1.SelectedIndex = -1;

با جاوا نمیدونم چطوری میشه اینکارو کرد .

baran110
یک شنبه 23 دی 1386, 16:52 عصر
خوب یک کار دیگه هم میتونی بکنی ، اونم اینکه که یه گزینه به گزینه هات اضافه کنی به عنوان بدون پاسخ .
اگر هم سرور ساید بخواهی دستورش این میشه


RadioButtonList1.SelectedIndex = -1;

با جاوا نمیدونم چطوری میشه اینکارو کرد .
با تشکر.من نمی خوام سرور ساید باشه ؟

baran110
پنج شنبه 09 اسفند 1386, 00:17 صبح
خودم راه حل گروه کردن چک باکس ها را بصورت جاوااسکریپتی و اینکه با کلیک مجدد روی چک باکس تیک آن برداشته شود پیدا کردم.
کد اسکریپت :


<scriptlanguage="javascript"type="text/javascript">
function Group_kardane_Checkboxha(item,checkboxi_keh_click_ shodeh,checkbox1,checkbox2,checkbox3,checkbox4){
switch(checkboxi_keh_click_shodeh){
case'checkbox1':
if( document.getElementById(checkbox1).checked==true){
document.getElementById(checkbox1).checked=true;
document.getElementById(checkbox2).checked=false;
document.getElementById(checkbox3).checked=false;
document.getElementById(checkbox4).checked=false;
}
else
{
document.getElementById(checkbox1).checked=false;
document.getElementById(checkbox2).checked=false;
document.getElementById(checkbox3).checked=false;
document.getElementById(checkbox4).checked=false;
}
break;
case'checkbox2':
if( document.getElementById(checkbox2).checked==true){
document.getElementById(checkbox2).checked=true;
document.getElementById(checkbox1).checked=false;
document.getElementById(checkbox3).checked=false;
document.getElementById(checkbox4).checked=false;
}
else
{
document.getElementById(checkbox2).checked=false;
document.getElementById(checkbox1).checked=false;
document.getElementById(checkbox3).checked=false;
document.getElementById(checkbox4).checked=false;
}
break;
case'checkbox3':
if( document.getElementById(checkbox3).checked==true){
document.getElementById(checkbox3).checked=true;
document.getElementById(checkbox1).checked=false;
document.getElementById(checkbox2).checked=false;
document.getElementById(checkbox4).checked=false;
}
else
{
document.getElementById(checkbox3).checked=false;
document.getElementById(checkbox2).checked=false;
document.getElementById(checkbox1).checked=false;
document.getElementById(checkbox4).checked=false;
}
break;
case'checkbox4':
if( document.getElementById(checkbox4).checked==true){
document.getElementById(checkbox4).checked=true;
document.getElementById(checkbox2).checked=false;
document.getElementById(checkbox3).checked=false;
document.getElementById(checkbox1).checked=false;
}
else
{
document.getElementById(checkbox4).checked=false;
document.getElementById(checkbox2).checked=false;
document.getElementById(checkbox3).checked=false;
document.getElementById(checkbox1).checked=false;
}
break;
}

}
</script>



و کدی که در صفحه کد می گذاریم :



((CheckBox)(Repeater1.Items[i - 1].Controls[3])).Attributes.Add("onclick", "Group_kardane_Checkboxha('" + i + "','" + "checkbox1" + "','" + ((CheckBox)(Repeater1.Items[i - 1].Controls[3])).ClientID + "','" + ((CheckBox)(Repeater1.Items[i - 1].Controls[7])).ClientID + "','" + ((CheckBox)(Repeater1.Items[i - 1].Controls[11])).ClientID + "','" + ((CheckBox)(Repeater1.Items[i - 1].Controls[15])).ClientID + "')");

که کد بالا به ازای تمام چک باکسهای داخل ریپیتر صدا زده می شود.