2

IDがに変更されたページがありますctl00_MainContent_txt_insurance。この場合、実際のIDをとして使用することはできません$("#txt_insurance")。だから私がしたのは、今はうまくいくを使うことでした$("#<%= txt_insurance.ClientID %>")

しかし、上記のIDを置き換えて表示したい場合は、次のようにします。

divToChangeVisible = $("#<%= txt_insurance.ClientID %>");
divToChangeVisible.replace("txt_", "val_").show();

これにより、オブジェクトが取得され、置き換えられないというエラーがスローされます。txt_insurance交換せずにIDとして取得する方法はありctl00_MainContent_ますか?

編集::これを行う$("#<%= txt_insurance.ClientID %>").attr('id')と、動的IDが再び返されます...

4

1 に答える 1

2

「IDendswith」のようなJqueryセレクターを使用できます:-

$("[id$='txt_insurance']")

上記のステートメントは、IDが「txt_insurance」で終わる要素をフェッチします。

例:-

var eleid=$("[id$='txt_insurance']").attr('id');
var rep=eleid.replace("txt_", "val_");
alert(rep);
$("[id$='txt_insurance']").attr('id',rep);
//this will replace old ID with new which is 'ctl00_MainContent_val_insurance'

アップデート:-

    var ele=eleid.split("_");
alert(ele[ele.length-2]+'_'+ele[ele.length-1]);
    var originalid=ele[ele.length-2]+'_'+ele[ele.length-1];
    // originalid will give you original id of element :-

だからあなたは次のように進むことができます:-

$('.myform :input').each(function () 
{
    var id = this.id; 
    var orgid=id.split("_");
    var orgid1=orgid[orgid.length-2]+'_'+orgid[orgid.length-1];
    var id2 = $("[id$=" + orgid1 + "]");
 });
于 2013-02-06T11:44:19.343 に答える