Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 jquery:通过attr获取按钮的值_Javascript_Jquery - Fatal编程技术网

Javascript jquery:通过attr获取按钮的值

Javascript jquery:通过attr获取按钮的值,javascript,jquery,Javascript,Jquery,我有一个页面,它有多个按钮。这些按钮是动态生成的。您可以在下面的示例中看到,数据=的值是动态生成的 <a id="btn-classified" name="btn-classified" data-target="#Modal" data-toggle="modal" data="26" class="btn-home" href="javascript:void();" data-original-title="" title="">Apply</a> <a i

我有一个页面,它有多个按钮。这些按钮是动态生成的。您可以在下面的示例中看到,数据=的值是动态生成的

<a id="btn-classified" name="btn-classified" data-target="#Modal" data-toggle="modal" data="26" class="btn-home" href="javascript:void();" data-original-title="" title="">Apply</a>
<a id="btn-classified" name="btn-classified" data-target="#ApplyModal" data-toggle="modal" data="23" class="btn-home" href="javascript:void();" data-original-title="" title="">Apply</a>
<a id="btn-classified" name="btn-classified" data-target="#ApplyModal" data-toggle="modal" data="22" class="btn-home" href="javascript:void();" data-original-title="" title="">Apply</a>
但问题是,我总是把26作为输出。 我不确定我做错了什么


请告知。

所有按钮上的id都相同,因此只能使用其中一个按钮。ID应该是唯一的。您需要为它们提供不同的id或类来访问它们。

如果您要动态生成按钮,请尝试同样生成id,以便id保持唯一。这里的问题是ur ID,因为所有ur BTN的ID都是相似的,它只会选择第一个值

下面是上面的PHP代码示例

<?php for($i=0; $i<10; $i++): ?>
    <button id="<?php echo 'idName_'.$i ?>" data="<?php echo 'data_'.$i ?>" onClick=clickAction(<?php echo $i ?>) >
<?php endfor; ?>

<script>
function clickAction(i){
    myvar1= $('#idName_'+i).attr('data');
    alert(myvar1);
}
</script>


元素的ID重复。ID必须是唯一的。可以修改dom使其具有相同的类。像这样:

<a class="btn-classified" name="btn-classified" data-target="#Modal" data-toggle="modal" data="26" class="btn-home" href="javascript:void();" data-original-title="" title="">Apply</a>
<a class="btn-classified" name="btn-classified" data-target="#ApplyModal" data-toggle="modal" data="23" class="btn-home" href="javascript:void();" data-original-title="" title="">Apply</a>
<a class="btn-classified" name="btn-classified" data-target="#ApplyModal" data-toggle="modal" data="22" class="btn-home" href="javascript:void();" data-original-title="" title="">Apply</a>
工作片段:

$('.btn分类')。每个(函数(){
console.log($(this.attr('data'))
});

id
必须是唯一的。如果要将事件添加到所有这些链接中,可以选择一个公共选择器,如
名称

$("a[name='btn-classified']").on('click',function(event){
alert($(this).attr('data'))
})


$(文档).ready(函数(){
var val=$(“#获取#u值”).attr('value');
警报(val);
});

首先,“id”应该是唯一的,您可以使用jquery的每个函数:

$( "a.btn-home" ).each(function( index ) {
   var btn_val= $(this).attr('data');
});

$('.btn home')。每个(函数(){
警报($(this.attr(“id”));
});

ID应该是唯一的。您想什么时候获取值?@Tushar谢谢。我明白了。请编辑更多信息。不鼓励只编写代码和“尝试此”答案,因为它们不包含可搜索的内容,并且不解释为什么有人应该“尝试此”。欢迎使用堆栈溢出!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满您的代码,因为这会降低代码和解释的可读性+1,为您的正确答案,但尽量保持答案简短,仅在需要更改的地方提供代码。没有不必要的代码。我认为这里的HTML代码在回答中不是必需的,因为在这个问题上,他已经提供了。
$("a[name='btn-classified']").on('click',function(event){
alert($(this).attr('data'))
})
<input type="button" id="get_value" value="2">
<script type="text/javascript">
$(document).ready(function(){
   var val = $("#get_value").attr('value');
   alert(val);
});
</script>
$( "a.btn-home" ).each(function( index ) {
   var btn_val= $(this).attr('data');
});
                <html>
            <head>
            <script type="text/javascript"
                src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
            </head>
            <body>
                <a id="btn-classified1" name="btn-classified" data-target="#Modal"
                    data-toggle="modal" data="26" class="btn-home"
                    href="javascript:void();" data-original-title="" title="">Apply</a>
                <a id="btn-classified2" name="btn-classified" data-target="#ApplyModal"
                    data-toggle="modal" data="23" class="btn-home"
                    href="javascript:void();" data-original-title="" title="">Apply</a>
                <a id="btn-classified3" name="btn-classified" data-target="#ApplyModal"
                    data-toggle="modal" data="22" class="btn-home"
                    href="javascript:void();" data-original-title="" title="">Apply</a>
                <script type="text/javascript">

                $('.btn-home').each(function(){
                       alert($(this).attr("id"));      
                     });
                 </script>
            </body>
            </html>