$('input [name =“shippingaddress”,id ='this.id']')。val()

时间:2014-06-12 09:50:43

标签: php jquery html dom

是否有可能通过NAme和ID

获取input元素的值

实施例

$('input[name="shippingaddress" , id='this.id']').val()

评论更新:

我有这样的代码

$("select[name='shipmentaddress[]']").click(function(e){ 
    var s = this.id; 
    alert(this.id);     //gets id shipmentaddress    
    alert($('select[name=shippingaddress], select[id=s]').val()); 
});

5 个答案:

答案 0 :(得分:1)

你基本上错误地使用了选择器。

尝试,

$('#' + this.id +'[name="shippingaddress"]').val();

由于我们使用的是id,因此我们不需要再添加其身份。

$('#' + this.id).val()

或者,少浪费:

this.value;

答案 1 :(得分:1)

元素上id属性/属性的值在整个文档中应该是唯一的,因此将ID选择器与其他任何内容组合在一起通常是没有意义的。除非您可能只生成具有给定ID的单个元素,但根据某些条件,它可能具有不同的名称。假设情况并非如此,你可以这样做:

$('#your-id').val();

但是,您似乎希望元素的ID是动态的,并且要匹配this.id的值(无论this恰好是什么)。那是 - 因为正如我上面解释的那样,ID是唯一的 - 完全冗余;你已经拥有<{1}}中具有该ID的元素的引用,所以只需执行:

this

答案 2 :(得分:0)

$(本).attr(&#34;名称&#34)

$(本).attr(&#34; ID&#34)

将分别返回name和id值。

我认为OP希望获得被点击元素的ID。

答案 3 :(得分:0)

你的语法错了。你需要这样写(请更正你的身份证,我给了一些虚拟身份证):

$('input[name="shippingaddress"][id="inputId"]').val()

但如果您有id,那么您可以直接使用它来获取如下所示的值(前提是您必须在DOM结构中拥有唯一的id

$('#inputId').val()

答案 4 :(得分:0)

ID为unique this.value就足够了。为什么其他人尝试使用不同的选择器