2016-01-31 34 views
3

我有这个代码行的一个问题:jQuery选择与变量作为参数

alert($('input' + ' #' + $id_bici).attr('value')); 

的HTML代码:

<input type="hidden" id="id_bici1" name="id_bici1" value="9"> 

警报结果是 “不确定”

回答

8

你有input#之间的空格。如果你想要输入特定的ID。那么他们之间就不应该有空间。

var $id_bici = 'id_bici1'; //added for full example 
alert($('input' + '#' + $id_bici).attr('value')); 
+1

它的工作!谢谢! – Davide

+0

因为它是一个ID,并且ID是* unique *,所以您可以完全从选择器中删除输入,并使用该ID。 –

1
var yourId = 1; 
alert($('input' + '#id_bici' + yourId).attr('value')); 

与yourId是在你的代码示例1。

1

Element1 Element2是一个选择器,用于选择Element1中的所有Element2。因此,“输入#id”将选择一个id内有输入的元素。这不是你的情况。你已经知道元素ID。只要使用它。

$("id_bici1") 

为选择的基本列表,请参阅CSS Selector Reference

var $id_bici = "id_bici1"; 
 
    alert($('#' + $id_bici).attr('value'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="hidden" id="id_bici1" name="id_bici1" value="9">

1

你可以这样做:

alert($('#id_bici1').attr('value')); 
1

有一个空间太多:

alert($('input' + ' #' + $id_bici).attr('value')); 

应该

alert($('input' + '#' + $id_bici).attr('value'));