문제

jQuery를 사용하여 테이블 행 내에서 숨겨진 필드 (클라이언트 ID)에 액세스하는 방법을 알고 있는지 궁금했습니다.

$("#tblOne").find("tr").click(function() {
            var worker = $(this).find(":input").val();
        });

위의 것은 하나의 입력 만있는 행에 작동하지만 입력 이름으로 값을 얻는 방법을 알아내는 데 도움이 필요합니다.

다음은 테이블 행의 예입니다. 신분증으로 두 필드에 어떻게 액세스합니까?

<table id="tblOne">
<tr>
<td>
    <asp:HiddenField id="hdnfld_Id" Text='<% Eval("ID") %>'></asp:HiddenField>
</td>
<td>
    <asp:HiddenField id="hdnfld_Id2" Text='<% Eval("ID2") %>'></asp:HiddenField>
</td>
</tr> 
</table>
도움이 되었습니까?

해결책

지금 설정하는 방식으로 다음을 수행 할 수 있습니다.

$('tr td', '#tblOne').eq(0).find(':input').val(); // find input in 1st TD
$('tr td', '#tblOne').eq(1).find(':input').val(); // find input in 2nd TD

이것을 사용하면 입력의 clientID에 대해 걱정할 필요가 없습니다.

다른 팁

나는 일반적으로 ID와 일치하기 위해 긍정적 인 조회를 사용합니다.이 방법은 클라이언트 ID를 요구하지 않습니다.

(id는 foo를 포함합니다) $ (this) .find ( "입력 [id*= 'foo']). val ();

당신은 다음과 같이 할 수 있습니다 :

    $("#tblOne").find("tr").click(function() {
        var election = $(this).find("td").eq(0).html();
        var worker = $(this).find('input[name=theName]').val();
    });

이 훌륭한 기사를 읽으십시오 'jQuery를 사용하는 것을 얻는 방법'Benjamin Sterling에 의해.

단순히 이것을 사용하지 않는 이유는 무엇입니까?

jQuery("#<%=hdnfld_Id.ClientID%>")

<asp:HiddenField id="foo"> an을 생성합니다 <input type="hidden" id="foo"/> 그렇지 않습니까? 그냥하지 그래

$("#foo").val()

?

조금 더 잘하려고하는 일을 설명해야한다고 생각합니다. 당신이 그것을 찾으면

$(this).find(":input").val();

... 하나의 입력이있을 때만 작동합니다. 아마도 원하는 것은 다음과 같습니다.

$(this).find(":input").each(function() {
  // Prints the value of each input.
  alert($(this).val());
}

그러나 그것이 서 있듯이, 당신의 질문은 분명하지 않습니다. 질문을 편집하고 시간을내어 원하는 것을 정확하게 설명하십시오.

답은 아니지만 테이블 셀 내에서 숨겨진 필드 값을 가져 오는 데 놀라운 어려움을 겪고있었습니다 (물론 테이블의 테이블 러 사용). 그래서이 코드 라인을 발견하게되어 매우 기쁩니다.

$ (this) .find ( ": input"). val ();

그리고 그것은 훌륭하게 작동합니다.

또한 ".live"기능을 사용하므로 거대한 테이블에서도 작동합니다.

감사합니다!!!

HLR

포스트 백을 일으키는 제출 버튼이있는 각각 3 개의 탭이 있습니다. 제출 버튼의 클릭 이벤트 후 현재 탭이 지속되기를 원합니다.

1 단계.

추가 된 ASP : Hiddenfield 탭 내부 DIV ( '탭'DIV는 내 탭의 내용이있는 세 개의 div를 모두 보유합니다).

<asp:HiddenField ID="sel_tab" Value="" runat="server" />

2 단계.

값을 업데이트했습니다 sel_tab 각 버튼의 클릭 이벤트를 사용하면 게시물이 다시 발생합니다.

protected void cmdSaveDailyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "0";
}
protected void cmdSaveWeeklyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "1";
}
protected void cmdSaveMonthlyMeasure_Click(object sender, EventArgs e)
{
    sel_tab.Value = "2";
}

3 단계 .js 파일 다음 코드가 있습니다

// Tabs
$(document).ready(function() {
    var iSelectedTab = $(this).find("input[id*='sel_tab']").val();
    if (iSelectedTab == null)
        iSelectedTab = 0;    
    $('[id$=tabs]').tabs({ selected: iSelectedTab });
});

마스터 페이지를 사용하는 경우에도 작동합니다. <%= foo.clientid%> 부품이 필요하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top