Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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进行选择?_Javascript_Html - Fatal编程技术网

如何获取当前元素以便使用javascript进行选择?

如何获取当前元素以便使用javascript进行选择?,javascript,html,Javascript,Html,我有以下HTML结构(我没有以下元素的ID,因为它们是动态创建的): 但在这两种情况下,控制台都会说 “意外标识符” 更新: 在函数内部执行类似操作(currentElement是selectBox/DropDownBox): currentElement.parent().parent().setAttribute(“数据myAttribute”、“hello”) 未捕获类型错误:selectBox.parent不是函数 在updateInputBox中,只需查看\selectBox的sele

我有以下HTML结构(我没有以下元素的ID,因为它们是动态创建的):

但在这两种情况下,控制台都会说

“意外标识符”

更新: 在函数内部执行类似操作(currentElement是selectBox/DropDownBox):

currentElement.parent().parent().setAttribute(“数据myAttribute”、“hello”)

未捕获类型错误:selectBox.parent不是函数


updateInputBox
中,只需查看
\selectBox

的selectedIndex在
updateInputBox
中,只需查看
\selectBox

的selectedIndex以下是jquery版本:

<select id="selectBox" onchange="updateInputBox(this)">
$(document).on('change','select',function(){
    var value=$(this).val();
    $(this).parents('fieldset').find('input').attr('data-myAttribute',value);
});
您需要为ID为的select触发change()事件
selectBox

<select id="selectBox" onchange="updateInputBox(this)">
$(document).on('change','select',function(){
    var value=$(this).val();
    $(this).parents('fieldset').find('input').attr('data-myAttribute',value);
});
以下是jquery版本:

您需要为ID为的select触发change()事件
selectBox

<select id="selectBox" onchange="updateInputBox(this)">
$(document).on('change','select',function(){
    var value=$(this).val();
    $(this).parents('fieldset').find('input').attr('data-myAttribute',value);
});

如下所示,您可以使用jquery“最接近”进行此操作

HTML

<select id="selectBox" onchange="updateInputBox(this)">
//您可以使用下面的命令来触发事件,而不是内联onchange事件和上面的代码

$(document).on('change', 'fieldset select', function () {
       var inputElm = $(this).closest('fieldset').find('input');

    inputElm.attr('data-myAttribute', $(this).val());

    });

如下所示,您可以使用jquery“最接近”进行此操作

HTML

<select id="selectBox" onchange="updateInputBox(this)">
//您可以使用下面的命令来触发事件,而不是内联onchange事件和上面的代码

$(document).on('change', 'fieldset select', function () {
       var inputElm = $(this).closest('fieldset').find('input');

    inputElm.attr('data-myAttribute', $(this).val());

    });


您是否正在查找
selectedIndex
?您可以使用jquery,正如我在下面给出的,您正在查找
selectedIndex
?您可以使用我在下面给出的jquery。您仍然在函数中使用selectBox ID,这在运行时是未知的。我没有任何元素的ID,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了您仍在函数中使用selectBox ID,这在运行时是未知的。我没有任何元素的ID,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了我没有任何元素的ID,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了我没有任何元素的ID,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了我没有任何元素的ID,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了是的,上面没有使用Id。你能看一下上面的代码吗。它们都是带标签的选择器。@thadeuszlay请试一试。Id不用于任何元素。我仍然不明白为什么要将jQuery与
onchange
一起使用。如果您打算在一个非jQuery标记的问题中建议jQuery,至少要全力以赴lol@mhodges代码也使用纯jquery选项更新,而不使用OP请求的任何id。我没有任何元素的id,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了是的,上面没有使用Id。你能看一下上面的代码吗。它们都是带标签的选择器。@thadeuszlay请试一试。Id不用于任何元素。我仍然不明白为什么要将jQuery与
onchange
一起使用。如果您打算在一个非jQuery标记的问题中建议jQuery,至少要全力以赴lol@mhodges代码也使用纯jquery选项更新,而不使用OP请求的任何id。我没有任何元素的id,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了@Alexandru IonutMihai您仍然使用了变更事件的id元素是动态创建的,请检查我对动态元素事件的回答。@Aruna如果有人想知道,这个术语称为
事件委派。我没有任何元素的ID,因为它们是动态创建的。。。。如果他们有身份证,我就不会问了@Alexandru IonutMihai您仍然使用了变更事件的id元素是动态创建的,请检查我对动态元素事件的回答。@Aruna如果有人想知道,这个术语称为
事件委派。