C# 如何访问javascript中动态创建的对象?
我已经创建了一个动态表,我想访问javascript中创建的一个对象。例如:如何处理动态创建的按钮C# 如何访问javascript中动态创建的对象?,c#,javascript,asp.net,dynamic,C#,Javascript,Asp.net,Dynamic,我已经创建了一个动态表,我想访问javascript中创建的一个对象。例如:如何处理动态创建的按钮 <script type="text/javascript"> function myJavaScriptFunction() { //How do I know here which button triggered the function? } </script> <table> <% for (var i=0; i<10; i++) {
<script type="text/javascript">
function myJavaScriptFunction()
{
//How do I know here which button triggered the function?
}
</script>
<table>
<% for (var i=0; i<10; i++) { %>
<tr class="rowcell">
<td class="datacell">
<input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction()"/>
</td>
</tr>
<% } %>
</table>
函数myJavaScriptFunction()
{
//我怎么知道是哪个按钮触发了该功能?
}
先谢谢你
/用javascript编写的John,如下所示
var elem = document.getElementById("button-no-1");
将按钮元素作为参数传递给函数
<script type="text/javascript">
function myJavaScriptFunction(button)
{
//button triggered the function
}
</script>
<table>
<% for (var i=0; i<10; i++) { %>
<tr class="rowcell">
<td class="datacell">
<input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction(this)"/>
</td>
</tr>
<% } %>
</table>
函数myJavaScriptFunction(按钮)
{
//按钮触发该功能
}
您可以按如下方式更改代码:
<input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction('<%="button-no-"+i%>')"/>
<script type="text/javascript">
function myJavaScriptFunction(buttonId)
{
//How do I know here which button triggered the function?
}
</script>
函数myJavaScriptFunction(buttonId)
{
//我怎么知道是哪个按钮触发了该功能?
}
映射出要作为对象的参数:
function myJavaScriptFunction(object)
{
//How do I know here which button triggered the function?
var id = object.id;
}
在HTML中,您需要执行以下操作:
onclick="myJavaScriptFunction(this)"
这是调用函数的点,并将This
关键字作为参数传入
关键字this
指调用的HTML元素,即您单击的按钮。对象具有属性id
,您在函数中将该属性定义为object.id
。属性id
的值基本上是输入标记的“id”字段
综合起来,你会得到:
<script type="text/javascript">
function myJavaScriptFunction(object) // You're defining the function as having a parameter that it accepts. In this case, it accepts an object.
{
alert(object.id); // Alert the object's id.
// Do what you want with object.id
}
</script>
<table>
<% for (var i=0; i<10; i++) { %>
<tr class="rowcell">
<td class="datacell">
<input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction(this)"/>
</td>
</tr>
<% } %>
</table>
函数myJavaScriptFunction(object)//您将函数定义为具有它接受的参数。在本例中,它接受一个对象。
{
警报(object.id);//警报对象的id。
//使用object.id执行所需操作
}
您应该知道按钮id:
var button = document.getElementById("button-no-1");
函数myJavaScriptFunction(按钮)
{
alert($(button.attr('id'));//获取调用函数的按钮的id
}
您想访问Javascript或ASP中动态创建的内容吗?您是如何创建动态控件的?是在codebehind中?还是在Javascript中?我想访问Javascript中动态创建的内容。动态控件是在codebehind中创建的。是的,您需要提前硬编码所有可能的动态按钮,对吗?@walther,你显然没有抓住重点,那就是展示你将如何做,而不是提供一个完整的解决方案。@JustinHarvey,不是说你必须给出一个银盘,而是可能展示一个基本的想法。您的示例没有显示任何内容,除了最基本的静态元素检索,这在本场景中是完全无用的。John需要一种方法来获取具有未知ID的元素,因为它是动态创建的。您将向他展示如何找到静态元素。理解其中的区别吗?是的,而且你会提前硬编码所有可能的动态按钮,对吗?
<script type="text/javascript">
function myJavaScriptFunction(button)
{
alert($(button).attr('id')); // gets the id of the button that called the function
}
</script>
<table>
<% for (var i=0; i<10; i++) { %>
<tr class="rowcell">
<td class="datacell">
<input type="button" id='<%="button-no-"+i%>' value="myButton" onclick="myJavaScriptFunction(this)"/>
</td>
</tr>
<% } %>
</table>