文本框和图像之间的关系

时间:2010-10-20 12:36:33

标签: javascript asp.net

嘿 ASP.NET profenssionals的简单问题: 我有一些动态生成的文本框连续。在这一行中也是一个带有事件处理程序“onclick”的图像。我将在文本框和图像之间创建一个关系。 我点击图片,选择一个值,然后填写文本框。

目前我的控件有以下动态生成的ID:

按钮:

ct100_cph_Detail_rpFields_ct109_rpCell_ct100_cbf_bed1_item_sym

文本框

ct100_cph_Detail_rpFields_ct109_rpCell_ct100_tb_bed1

这两个控件必须处于关系中。对我来说最好的解决方案是JavaScript,因为我没有太多的ASP.NET技能..

感谢您的帮助! : - )

2 个答案:

答案 0 :(得分:0)

如果生成的ID始终遵循此方案,则可以通过获取按钮/图像的ID来访问文本框,并将此ID(_cbf_bed1_item_sym)中的非唯一部分替换为文本框的非唯一部分 - ID(_tb_bed1)

示例:

<input type="button"  value="click" 
   id="ct100_cph_Detail_rpFields_ct109_rpCell_ct100_cbf_bed1_item_sym" 
   onclick="document.getElementById(this.id.replace(/_cbf_bed1_item_sym$/,'_tb_bed1')).value='gotcha'"/>

<input type="text" 
   id="ct100_cph_Detail_rpFields_ct109_rpCell_ct100_tb_bed1"/>

可能还有其他方法,但是要说出关于它们的任何内容,你必须显示这样一行的标记(需要查看这些元素与它们在文档树中的位置之间的关系)

答案 1 :(得分:0)

“关系”是指他们都在同一行。

了Serverside:

TableRow.Attributes.Add("onclick", "rowClick(event);")

客户机侧:

function rowClick(e) {
    e = e || event;
    var target, img, textbox, row;
    target = e.target || e.srcElement;
    if (target.tagName == 'IMG') {
        img = target;
        while(target.tagName != 'TR') {
            target = target.parentNode;
        }
        row = target;
        textbox = row.getElementsByTagName('input')[0];
        textbox.value = img.src;
    }
}