我最近开始开发一个用vb.net编写的web应用程序,以前从未使用过vb。
有一个网页,welcome.aspx,它是由一些vb代码welcome.aspx.vb绘制的。
我想使用javascript为已经存在于该页面上的html元素添加一些功能。我要添加功能的html元素是一个下拉菜单,它显示在表单的隐藏部分。
只有在窗体上的其他位置选择了特定单选按钮时,才会显示该隐藏节。
在显示隐藏部分的JS函数中,我可以使用行看到浏览器控制台中的下拉元素:
var hiddenwrapper = $("." + hiddenF).css('display', 'none');
console.log("hiddenwrapper: ", hiddenwrapper);
这个
console.log
语句在浏览器控制台中显示以下内容:
hiddenwrapper: r.fn.init [div#conbox_2_2_104938.conbox_104938, prevObject: r.fn.init(1)]
如果我在控制台中展开该行,就会得到下拉框对象:
0: div#conbox_2_2_104938.conbox_104938
以及它的所有属性。
如果我检查浏览器中HTML的结构(使用控制台的“元素”选项卡),我可以看到下拉是嵌套在A里面的。
<section></section>
在一个
<div></div>
. 那
<div></div>
有身份证
Panel1
.
在WelCuff.ASPX文件中,我可以看到
面板1
定义为:
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
在浏览器中,还有多个HTML元素嵌套在
面板1
div,但正如您所见,在.ASPX文件中没有任何面板。
我知道此下拉列表的“问题类型”为“4”(即,就本表单而言,下拉列表就是这样定义的)。
我可以看到,这个问题类型是由下面的代码处理的:
If rs2("QuestionType").ToString = "4" Then
QuestionType = "Radio"
'RadioButton List so get values
If rs2("Personal").ToString = "True" Then
Dim genField As RequiredRadioButtonList = DirectCast(Panel1.FindControl("personal_radio" & x.ToString & "_" & xx.ToString), RequiredRadioButtonList)
Answer = genField.SelectedValue
If rs2("OtherBox").ToString = "True" Then
Dim genField2 As TextBox = DirectCast(Panel1.FindControl("inputOther" & x.ToString & "_" & xx.ToString), TextBox)
Answer = genField.SelectedValue + " " + genField2.Text
Else
Answer = genField.SelectedValue
End If
Else
Dim genField As RequiredRadioButtonList = DirectCast(Panel1.FindControl("radio" & x.ToString & "_" & xx.ToString), RequiredRadioButtonList)
Answer = genField.SelectedValue
If rs2("OtherBox").ToString = "True" Then
Dim genField2 As TextBox = DirectCast(Panel1.FindControl("inputOther" & x.ToString & "_" & xx.ToString), TextBox)
Answer = genField.SelectedValue + " " + genField2.Text
Else
Answer = genField.SelectedValue
End If
Response.Write("radioanswer" + x.ToString & "_" & xx.ToString + "<br/>" + Answer + "<br/><br/>")
End If
End If
使用纯html/javascript,在js中获取下拉菜单对象
document.getElementById('conbox');
如果html元素是由vb绘制的,那么如何直接从js中获取它呢?