【问题标题】:Val() return object instead of string when using it as parameterVal() 使用它作为参数时返回对象而不是字符串
【发布时间】:2013-10-08 17:19:25
【问题描述】:

我有以下代码行:

var show = new Show(artist.val(), day.val(), starttime.val(), endtime.val());

我的问题是我的显示对象包含此行之后的对象,而不是我试图通过 val() 获得的值:

如何确保获取值而不是对象?我已经试过了:

var artistvalue = artist.val();
var show = new Show(artistvalue, day.val(), starttime.val(), endtime.val());

不过,表演艺术家字段显示 input#artist.text.... 等等。

【问题讨论】:

  • 请添加您的HTML code
  • artist 是一个 JQuery 选择器吗?如果它们是 JQuery 对象,则 .val() 返回对象而不是包含的值是正常的。如果是这样,请使用 .html() 获取值。此外,正如@Misters 所注意到的,在选择元素上使用.val() 不会返回所选值。
  • @TCHdvlp 仔细看,都是输入和选择
  • 应该是var artistvalue = $('#artist').val(); 等等...

标签: javascript jquery parameters return


【解决方案1】:

你需要使用这个,因为艺术家是一个 jquery seletcor

 $(artist).val()

而不是

 artist.val()

【讨论】:

    【解决方案2】:

    试试

    $('[name="artist"]').val();
    

    $('[name="artist"]').text();
    

    假设元素的名字是艺术家

    【讨论】:

      【解决方案3】:

      如果艺术家是该字段的ID,您应该尝试$("#artist").val() 或者,$("[name='artist']").val() 如果艺术家是该字段的名称

      【讨论】:

        【解决方案4】:

        终于搞明白了,不是我这里提供的代码,而是Show()的声明中:

        function Show(){
            this.artist = artist;
            this.day = day;
            this.starttime = starttime;
            this.endtime = endtime;
        }
        

        Show 缺少它的参数,所以它只是使用了其他函数中的艺术家等。将其更改为以下有助于:

        function Show(artist, day, starttime, endtime){
            this.artist = artist;
            this.day = day;
            this.starttime = starttime;
            this.endtime = endtime;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-02-23
          • 2014-08-05
          • 1970-01-01
          • 2022-01-09
          • 2018-08-12
          • 2017-07-18
          • 2011-07-29
          相关资源
          最近更新 更多