0

コードが実行時に次のようにレンダリングされる2つのコントロールがあります。

ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_gdvItinerary_ctl03_txtTravelDate      
ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_gdvItinerary_ctl04_txtTravelDate

jQueryを使用して上記の2つのコントロールの値を取得するにはどうすればよいですか?

4

2 に答える 2

1

asp.netでは、コントロールidは実行時に変更されます。

idがだった場合、クライアント側で(最後にあります)mycontrolに変更されます。blahblahblahmycontrolid

それで、

以下のようなasp.netコントロール(テキストボックス)がある場合は、

<asp:TextBox runat='server' id='mytxtbox'></asp:TextBox>

できるよ、

$("input[id$='mytxtbox']").val();

inputで終わるすべてのタグを選択します_mytxtbox

または、javascriptが同じ.aspxファイルにある場合は、このようなことを行うことができます

$('#<%=mytxtbox.ClientID %>').val()

asp.net 4.0を使用している場合は、

ClientModeあなたはにプロパティを追加することができますStatic

<asp:TextBox ID="mytxtbox" runat="server" ClientIDMode="Static"></asp:TextBox>

TextBoxこれにより、 toのIDが保持されますmytxtbox

だから、あなたはできる、

$('#mytxtbox').val();


はい、また、ソースコードを見て、idこのように変換されたものを使用することもできます、

var txtboxValue = $('#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7‌​e7_ctl00_gdvItinerary_ctl03_txtTravelDate').val();

ただし、お勧めしません。

于 2012-07-01T11:40:54.397 に答える
0

シンプル-使用.val()

var firstValue  = $('#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7‌​e7_ctl00_gdvItinerary_ctl03_txtTravelDate').val();
var secondValue = $('#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_gdvItinerary_ctl04_txtTravelDate').val();

ショートidの使用を真剣に検討する必要があります。これらidだけでは、値が何を表しているのかまったくわかりません。

次の方法で読みやすくすることができます。

var baseID = "#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7‌​e7_ctl00_gdvItinerary_";

var firstValue  = $(baseID + 'ctl03_txtTravelDate').val();
var secondValue = $(baseID + 'ctl04_txtTravelDate').val();
于 2012-07-01T10:19:03.117 に答える