2013-05-30 2 views
2

jquery의 checkboxlist에서 값을 가져 오려고하고 있는데 어떤 값이 있는지에 따라 확인란을 선택하거나 선택 취소하십시오. 모달 팝업가 열려jquery asp.net checkboxlist 항목 값 가져 오기

다음
<asp:CheckBoxList CssClass="styled" ID="chkTestTypeEdit" RepeatDirection="Horizontal" style="padding:5px;" runat="server"> 
     <asp:ListItem Value="1" Text="Y/N" /> 
     <asp:ListItem Value="2" Text="Num" /> 
    </asp:CheckBoxList> 

전에 나는이 코드 조각이 : 이 내가 가진 무엇

$(document).on("click", ".open-EditTest", function() {     
    var optesttype =$(this).data('optesttype');     
    var items = $('#<% = chkTestTypeEdit.ClientID %> input:checkbox'); 
    for (var i = 0; i < items.length; i++) { 

     var val = $('#ctl00_MainContent_chkTestTypeEdit_0').val(); 
     var val2 = $('label[for=" + <%= chkTestTypeEdit.ClientID %> +_0 "]').text(); 
     if (items[i].value == optesttype) { 
      items[i].checked = true; 
      break; 
     } 
    } 
    $('#EditTest').modal('show'); 
}); 

는 그래서 optesttype는 것을 1 또는 2, 다음 나는 그 아이템 [i] 값을 비교하려고 노력하고 있지만 그 값은 항상 'on'입니다. var val과 val2를 사용하여 그물에서 발견 한 두 가지 방법을 시도했지만 아무 것도 선택되지 않았습니다. 어떻게 내가이 문제에 접근해야한다고 생각합니까? , Laziale의

답변

0

시도가 다음 감사 :

$("#demo").live("click", function() { 
     var selectedValues = ""; 
     $("[id*=CheckBoxList1] input:checked").each(function() { 
      if (selectedValues == "") { 
       selectedValues = "Selected Values:\r\n\r\n"; 
      } 
      selectedValues += $(this).val() + "\r\n"; 
     }); 
     if (selectedValues != "") { 
      alert(selectedValues); 
     } else { 
      alert("No item has been selected."); 
     } 
    }); 

확인 다음 :

ASP.NET CheckBoxList Operations with jQuery

2) sample

1

나는 다음과 같은 방법으로 문제를 해결했다. checkboxlist에 대한 나의 ASP.NET 코드는 생성 된 HTML 테이블에서 각 입력 외에 만든 라벨이 있음을 알 때, 그리고하십시오

<table id="ctl00_chkHourly" border="0"> 
<TBODY> 
<TR> 
<TD> 
    <INPUT id=ctl00_chkHourly_0 name=ctl00$chkHourly$0 value="" CHECKED type=checkbox>  
    <LABEL for=ctl00_chkHourly_0>00:00 AM</LABEL></TD> 
<TD> 
    <INPUT id=ctl00_chkHourly_1 name=ctl00$chkHourly$1 value="" type=checkbox> 
    <LABEL for=ctl00_chkHourly_1>01:00 AM</LABEL></TD> 
<TD> 
    <INPUT id=ctl00_chkHourly_2 name=ctl00$chkHourly$2 value="" type=checkbox> 
    <LABEL for=ctl00_chkHourly_2>02:00 AM</LABEL> 
</TD> 
    </TR> 
</TBODY> 

아래에 다음과 같이 표시됩니다

<asp:CheckBoxList ID="chkHourly" runat="server" RepeatLayout="Table" 
RepeatColumns="4" RepeatDirection="Horizontal"> 
<asp:ListItem Value="0">00:00 AM</asp:ListItem> 
<asp:ListItem Value="1">01:00 AM</asp:ListItem> 
<asp:ListItem Value="2">02:00 AM</asp:ListItem> 
</asp:CheckBoxList> 

다음과 같다 확인란이 선택되어 있고 입력 값이 '켜짐'으로 표시되며 옵션으로 볼 수있는 것은 레이블의 텍스트입니다. 텍스트가 필요하지만 필자는이 라운드에서 값을 얻기 위해 이름을 읽을 것입니다 확인 된 개별 입력 필드 아래 텍스트를 선택하여 선택한 텍스트를 읽도록 작성한 코드와 선택한 입력의 이름을보고 필 요에 따라 값을 읽을 수 있도록하십시오.

var postData = new Array(); 
$("[id*=chkHourly] input[type=checkbox]:checked").each(function() { 
    alert($(this).next().text()); 
    alert($(this).next().html()); 
    alert($(this).attr("name")); 
    postData.push($(this).next().text()); 
}); 

if (postData.length > 0) { 
    alert("Selected Text(s): " + postData); 
} 
else { 
    alert("No item has been selected."); 
} 
관련 문제