【问题标题】:Update custom attribute from input value shows undefined从输入值更新自定义属性显示未定义
【发布时间】:2018-03-30 20:07:00
【问题描述】:

这个post 和我有类似的问题。但是,它对我的​​情况没有帮助。

我有一个文本框,允许用户粘贴或输入网址。当点击分享按钮时,它将在文本框中分享该网址。

<div class="sharewrapurl">
    <div id="shareurl_validation" style="display: none"> </div>
    <input type="text" id="shareviaurl_url" class="textbox_with_url" name="shareviaurl_url" placeholder="Paste URL here.">
    <div class="shareurlbutton">
        <span id="fb_ut_urlshare" style="width:100px;"><span class="st_facebook_large" st_url="http://santosh-shah.com" st_title="#DVDNation #ad #DVD20" onclick="social_share_url(appConfig.FacebookPostWidgetConfigId)"></span></span>
        <span id="tw_ut_urlshare" style="width:100px;"><span class="st_twitter_large" st_url="s" st_title="#DVDNation #ad #DVD20" onclick="social_share_url(appConfig.TwitterPostWidgetConfigId)"></span></span>
    </div>
    <!-- /.shareurlbutton -->
</div>

如果我直接点击 facebook 分享,那么它将分享我在 st_url 中的域名,但我想用输入框值更新该属性。

$('#shareviaurl_url').on('input propertychange paste', function() {
    var url = $("#shareviaurl_url").val();
    $("#shareurlbutton").find("#st_facebook_large").attr("st_url",url);
    console.log($("#shareurlbutton").find("#st_facebook_large").attr("st_url"));//returns undefined.
});

【问题讨论】:

  • st_facebook_large 是一个类,但您正在查找函数中寻找一个 id

标签: javascript jquery facebook-sharer


【解决方案1】:

您正在使用 id 选择器 (#) 而不是类选择器 (.)。这是工作版本:

$('#shareviaurl_url').on('input propertychange paste', function() {
    var url = $('#shareviaurl_url').val();
    $('.shareurlbutton').find('.st_facebook_large').attr('st_url', url);
    console.log($('.shareurlbutton').find('.st_facebook_large').attr('st_url'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sharewrapurl">
    <div id="shareurl_validation" style="display: none"> </div>
    <input type="text" id="shareviaurl_url" class="textbox_with_url" name="shareviaurl_url" placeholder="Paste URL here.">
    <div class="shareurlbutton">
        <span id="fb_ut_urlshare" style="width:100px;"><span class="st_facebook_large" st_url="http://santosh-shah.com" st_title="#DVDNation #ad #DVD20" onclick="social_share_url(appConfig.FacebookPostWidgetConfigId)"></span></span>
        <span id="tw_ut_urlshare" style="width:100px;"><span class="st_twitter_large" st_url="s" st_title="#DVDNation #ad #DVD20" onclick="social_share_url(appConfig.TwitterPostWidgetConfigId)"></span></span>
    </div>
</div>

干杯。 :)

【讨论】:

  • 感谢您指出我的错误。它现在添加罚款。但是共享的东西仍然不适用于更新的网址。但是我看到属性已更新。有什么想法吗?
  • 我不知道social_share_url 做了什么。我只能猜测某些东西可能正在存储 attr 值,而不是在点击时再次获取它。顺便说一句,如果我的回答对您有所帮助,如果您将其标记为正确,我将不胜感激。
  • 是的,它确实有帮助。谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-03-21
  • 2020-07-05
  • 2014-06-16
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多