私はデータリストを持っていて、その中に動的にロードされるドロップダウンリストとハイパーリンクがあります。つまり、1人のユーザーがいる場合は1つのドロップダウンと1つのハイパーリンクがあり、2人のユーザーがいる場合は2つのドロップダウンと2つのハイパーリンクがあります。ドロップダウンでonchangeイベントが発生した場合、javascriptでそのドロップダウンに関連付けられたハイパーリンクのIDが必要です。誰か助けてください。
ありがとう
私はデータリストを持っていて、その中に動的にロードされるドロップダウンリストとハイパーリンクがあります。つまり、1人のユーザーがいる場合は1つのドロップダウンと1つのハイパーリンクがあり、2人のユーザーがいる場合は2つのドロップダウンと2つのハイパーリンクがあります。ドロップダウンでonchangeイベントが発生した場合、javascriptでそのドロップダウンに関連付けられたハイパーリンクのIDが必要です。誰か助けてください。
ありがとう
Control.ClientIDMode
物件をご利用いただけます
可能な値:
例:
<script type="text/javascript" src="Scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
function ddlChanged(sender) {
var senderID = $(sender).attr("id");
var idSplitted = senderID.split("_");
var currentHyperLinkID = "dl_hl_" + idSplitted[2];
var currentHyperLink = $("#" + currentHyperLinkID);
alert(currentHyperLink.text());
}
</script>
<asp:DataList runat="server" ID="dl" ClientIDMode="Predictable" DataSourceID="ods">
<ItemTemplate>
<asp:DropDownList runat="server" ID="ddl" onchange="ddlChanged(this);">
<asp:ListItem Text="text1" />
<asp:ListItem Text="text2" />
</asp:DropDownList>
<br />
<asp:HyperLink NavigateUrl="http://www.google.com" runat="server" Text='<%# Eval("QuestionText") %>' ID="hl" />
</ItemTemplate>
</asp:DataList>
これにより、すべての子コントロールが次の形式を使用してクライアント ID を生成します。
<select name="dl$ctl00$ddl" id="dl_ddl_0" onchange="ddlChanged(this);">
<option value="text1">text1</option>
<option value="text2">text2</option>
</select>
<br />
<a id="dl_hl_0" href="http://www.google.com">QuestionText1</a>
例えば:
dl_hl_0
どこ:
DataList
HyperLink
コントロールの名前ですDataList
、各行のすべてのコントロールに対して同じ番号です。注:ListView
コントロールの代わりにコントロールを使用することを検討する必要がありDataList
ます。後者は従来のコントロールであり、 によって公開されるすべての特性を備えているわけではありませんListView
。
たとえば、次のプロパティがありClientIDRowSuffix
ます。これは、クライアント ID の一部として主キーを挿入するために使用されます。このプロパティはDataList
コントロールでは使用できません