1

特定の属性セットを持つデータテーブル生成リストがあります。特定の属性をjquery関数に渡したいと思います.jquery関数は、その属性をPOSTに追加し、ユーザーを別のページにリダイレクトします。これが最善のアプローチかどうかはわかりませんが、それをうまくやってのけるのに苦労しています。

現在、値を実際にjquery関数に渡す方法をテストしようとしています。リスト項目を生成する分離コードは次のとおりです。

protected void BuildReportList(DataTable dt)
{
  string groupHeader = "";
  foreach (DataRow row in dt.Rows)
  {                
    ListItem myItem = new ListItem();
    myItem.Text = row["prg_menu"].ToString();
    myItem.Attributes.Add("title", row["prg_description"].ToString());
    myItem.Attributes.Add("onClick", "test();");
    myItem.Attributes.Add("value", row["prg_path"].ToString().Trim());
    reportsList.Items.Add(myItem);
  }
}

これがjquery関数です。現在、渡された値でアラートをポップしようとしています:

function test() {
  alert(($this).attr("value"));
}

ここで私が間違っていることについて何かアドバイスはありますか?

4

1 に答える 1

1

この方法を試してください:

myItem.Attributes.Add("onClick", "test(this);");

と:

function test(item) {
  alert($(item).val());
}

要素の値をチェックするオプションは他にもあります:

$(item).attr("value");

またはjQueryラッピングなし:

item.value;
于 2013-08-14T21:45:33.083 に答える