Jquery $(this).val()不起作用

时间:2018-02-03 20:43:52

标签: javascript jquery debugging pug

我在使用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动态生成

5 个答案:

答案 0 :(得分:7)

你应该改变它

$(this).val() = rtmp;

$(this).val(rtmp);

答案 1 :(得分:1)

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

定义和用法

  

val()方法返回或设置所选的value属性   元件。

用于返回值时:

此方法返回FIRST匹配元素的value属性的值。

用于设置值时:

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

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

语法

返回value属性:

$(selector).val()

设置值属性:

$(selector).val(value)

使用函数设置value属性:

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

参数说明

  

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

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

答案 2 :(得分:0)

替代解决方案,

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

this.value = rtmp;

答案 3 :(得分:0)

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

$(this).val(rtmp);

或者,

this.value = rtmp;

答案 4 :(得分:0)

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