Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取按钮的父div_Javascript_Asp.net_Xml - Fatal编程技术网

Javascript 获取按钮的父div

Javascript 获取按钮的父div,javascript,asp.net,xml,Javascript,Asp.net,Xml,我正在尝试获取“button1”的父div,并启用该div中的所有输入(我目前已禁用它们) <div id="wrapper"> <div id="gameInfo"> <asp:TextBox ID="gameTitle"/> <asp:TextBox ID="gameType" /> <asp:TextBox ID="gameprice"/> <input type="button" id="button1" value="e

我正在尝试获取“button1”的父div,并启用该div中的所有输入(我目前已禁用它们)

<div id="wrapper">
<div id="gameInfo">
<asp:TextBox ID="gameTitle"/>
<asp:TextBox ID="gameType" />
<asp:TextBox ID="gameprice"/>
<input type="button" id="button1" value="enable" onClick="myFunc()"/>
</div>

我正在尝试获取button1的父节点,但我不确定正确的方法,但我希望启用按钮父div中的所有输入,但仅启用我单击的按钮的父div。有什么建议吗?

您只是没有正确调用myFunc-您需要括号来实际调用它:


如果使用jquery进行DOM遍历,可以执行以下操作:

 $('#<%= button1.ClientID %>').on('click', function() {
      $(this).parent().find('input[type=text]').removeAttr('disabled');
 });
$('#')。在('click',function()上{
$(this.parent().find('input[type=text]')).removeAttr('disabled');
});

如果调用函数的方式不正确,应使用大括号:

onClick="myFunc()"

我会做一些不同的事情(没有设置超时):

函数myFunc(elm){
对于(var inputs=elm.parentNode.querySelectorAll('input[type=“text”]”)
,L=输入。长度
;L--
;输入[L]。禁用=错误//启用输入
);//结束循环
}


你的问题是什么,你问题中的(编辑过的)代码是有效的。(为什么没有时间设置就有setTimeout)?你确定没有在开发工具控制台(F12)中记录任何错误吗?当然,在JavaScriptI中有没有办法做到这一点?我想说,@Rhumborl answer应该对你有效,然后就是它(相关部分,又名函数)与op的代码相同..我想知道op的问题是什么..是的,你是正确的,我从run code snippet选项中测试了它,它似乎工作正常。工作完美:(友好提示:在使用之前阅读JSFIDLE手册可能是个好主意…)看,它也适用于多个div:(刚刚添加了一些“行”).这就是你想要的吗?你能告诉我们什么对你不起作用,而不是让我们猜测吗?你发送的代码还有什么你认为,当我点击按钮时,什么都没有发生?你在我的回答中“运行代码片段”了吗?你试过了吗:和?你说它们都不起作用吗?所有这些在FF、Chrome和Safari中,甚至在代码中,对我来说都很好在你的问题中,这很好(同样,还有@Rhumborl的答案)。你犯了什么错误(我们猜不到这一点)?(我理解你的沮丧,但蜂蜜会抓住更多的苍蝇。)这就是你如何设置你的小提琴-在左边的下拉框中,将
onload
更改为
No wrap-in
-哦,好吧,它在我的项目解决方案中不起作用是否与我需要在我的项目中设置No wrap有关不,只要
myFunc
没有被包装在另一个函数中(当您使用onload选项时,JSFIDLE就是这么做的),那么它应该可以正常工作。如果不是这样,那么您需要尝试发布更多的代码,这样我们就可以看到什么可能会阻止它工作
 $('#<%= button1.ClientID %>').on('click', function() {
      $(this).parent().find('input[type=text]').removeAttr('disabled');
 });
onClick="myFunc()"