将$(“#myId”)。val()与$(this).val()组合在一起

时间:2011-01-21 22:39:20

标签: jquery this

我想结合

$("#myId").val()

$(this).val()

这样我就可以使用相同的id和连接到数组的名称值 - characters[x].name - 来存储和显示不同的名称。

http://jsfiddle.net/ren1999/Fae95/

3 个答案:

答案 0 :(得分:1)

假设输入元素的布局有些类似,您可以找到输入框的兄弟,然后将文本分配给它。

$("#getName1, #getName2").blur(function() {
    var name = $(this).val();
    $(this).siblings('b').text(name);
}).blur();

http://jsfiddle.net/Fae95/1/

答案 1 :(得分:1)

试试这个:

$.each([["#getName1", "#displayName1"], ["#getName2", "#displayName2"]], 
function (i, names) {
    $(names[0]).blur(function () {
        var name=$(this).val();
        $(names[1]).text(name);
    });
})

您可以通过添加更多输入来添加更多输入。

答案 2 :(得分:0)

这是我的问题的解决方案。我可以显示一个字段,输入一个新值,再次单击该字段,然后使用新值使该字段消失。每次this.refresh()不是函数时,Firefox错误控制台都会抱怨,但我并不关心它是否有效。

var gotIt='no'

    function askName(x)
     {if(gotIt=='yes')
       {response=this.name
        characters[x].setName(response)
        gotIt=0
       }
      else
       {gotIt='no'
        this.name=characters[x].name
        response="<input onClick=_setName(this.value) size=10 type=text value="+this.name+">"
        characters[x].setName(response)
       }
     }
    function _setName(x)
     {this.name=x
      this.refresh()
      gotIt='yes'
     }