【问题标题】:Jquery $(this).val() not workingJquery $(this).val() 不工作
【发布时间】:2018-02-03 20:43:52
【问题描述】:

我在使用 jquery 设置调用函数的元素的值时遇到问题。这是代码

元素:

 each outlet in FBoutlets  
        br
        label(for='FBoutlet') Facebook: #{outlet.FBoutlets.name}  
        input(type='checkbox', value='', onchange="streamFB(" + outlet.FBoutlets.FBpageId + "," + JSON.stringify(outlet.FBoutlets.FBaccessToken) + ")", name='FBoutletCredentials', id='FBoutlet')

功能:

  script.
    window.fbAsyncInit  = function()  {
    FB.init({
      appId             : '20212222222',
      autoLogAppEvents  : true,
      xfbml             : true,
      version           : 'v2.12'
      });
      };

    function streamFB(pageId, accessToken){
      FB.api(
        '/' + pageId + '/live_videos',
        'POST',
        {access_token: accessToken},
        function(response) {
            let rtmp = response.stream_url
            console.log(rtmp)
            console.log(response)
            $(this).val() = rtmp;
        }
      );
    }

$(this).val() 返回 undefined,我需要使用它,因为元素 id 是动态生成的

【问题讨论】:

    标签: javascript jquery debugging pug


    【解决方案1】:

    你应该改变它

    $(this).val() = rtmp;
    

    $(this).val(rtmp);
    

    【讨论】:

      【解决方案2】:

      jquery val 函数将参数值作为赋值

      定义和用法

      val() 方法返回或设置选中的值属性 元素。

      用于返回值时:

      此方法返回第一个匹配元素的 value 属性的值。

      用于设置值时:

      此方法为所有匹配的元素设置 value 属性的值。

      注意:val() 方法主要用于 HTML 表单元素。

      语法

      返回值属性:

      $(selector).val()
      

      设置值属性:

      $(selector).val(value)
      

      使用函数设置值属性:

      $(selector).val(function(index,currentvalue));
      

      参数说明

      值 必需。指定 value 属性的值 函数(索引,当前值)可选。指定一个函数 返回要设置的值。 index - 返回索引的位置 set currentvalue 中的元素 - 返回当前值属性 所选元素的数量

      来源:https://www.w3schools.com/jquery/html_val.asphttps://www.w3schools.com/jquery/html_val.asp

      【讨论】:

        【解决方案3】:

        替代解决方案,

        $(this)[0].value = rtmp;
        

        this.value = rtmp;
        

        【讨论】:

          【解决方案4】:

          我认为您必须将 $(this).val() = rtmp; 更新为 -

          $(this).val(rtmp);
          

          或者,

          this.value = rtmp;
          

          【讨论】:

            【解决方案5】:

            更改$(this).val() = rtmp;$(this).val(rtmp);

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-02-28
              • 2011-11-28
              • 1970-01-01
              • 1970-01-01
              • 2011-12-24
              • 1970-01-01
              • 1970-01-01
              • 2014-08-02
              相关资源
              最近更新 更多