【问题标题】:How to get li tag attribute data-value and set the value at input tag? [duplicate]如何获取 li 标签属性 data-value 并在输入标签处设置值? [复制]
【发布时间】:2017-11-04 03:22:50
【问题描述】:

这是我的示例回声:

echo '<li data-value="' . $row->id . '"class="option"><img src="' . $row->image . '">' . $row->name . '</li>';

所以我从数据库中检索值并将值设置为 li tag data-value。

jquery:

$(".ul_movie2").on('click', 'li', function () {
    var movie_id = $(this).attr('data-value');
    console.log(movie_id)
    alert('Text is ' + movie_id);
        $.ajax({
            url:"mymoviemanagement.php",
            data:{data:movie_id},
            type:'POST',
            success:function(data) {
                $('#result').val(movie_id);
            }
        });

});

HTML:

<input type="text" value="" id="result">;

这是我的意见。所以在 Jquery 你可以看到我将值设置为输入,但输入没有得到值。输入只显示值。

例如我的值是 84,输入标签显示 84,但我检查元素它告诉我这个:

<input type="text" value id="result">==$0

这意味着我没有将值设置为输入标签值,它只显示,里面没有真正的值。

那么如何获取 li attr('data-value') 并将值设置为输入标签?

【问题讨论】:

    标签: javascript php jquery html


    【解决方案1】:

    两件事:

    要获取data-value 的值,请更改:

     var movie_id = $(this).attr('data-value');
    

    到这里:

     var movie_id = $(this).attr('data-value').val();
    

    然后这样设置响应:

     $('#result').innerHTML = movie_id;
    

    您的代码现在是:

     $(".ul_movie2").on('click', 'li', function () {
      var movie_id = $(this).attr('data-value').val();
      console.log(movie_id)
      alert('Text is ' + movie_id);
        $.ajax({
            url:"mymoviemanagement.php",
            data:{data:movie_id},
            type:'POST',
            success:function(data) {
                $('#result').html = movie_id;
            }
        });
    
    });
    

    【讨论】:

    • $('#result').innerHTML = movie_id;这个我放哪儿了?
    • 我会将.attr(‘data-value’) 更改为.data(‘value’)。为什么你会选择$(‘#result’).innerHtml = movie_id 而不是$(‘result’).html(movie_id)
    • @agrm 你写的是它应该是 .html 而不是 innerHTML。我错过了带有 Vanilla JS 的 jQuery 行。我刚刚编辑了答案
    • @argm .data(‘value’) 这样也可以得到li标签属性data-value?
    【解决方案2】:

    如果你想设置 data-value 属性值,只需使用

       $("#result").attr("data-value", movie_id)
    

    【讨论】:

    • 不,我的意思是我从 'Data-value' 属性中获取值,我想将值设置为输入标签值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多