2016-02-23 3 views
2

Невозможно найти ответ в любом месте. Я не знаю, как получить скрытое значение из <td> на jquery.Как получить скрытое значение от <td> с jquery

<td class='equis' value='8'>X</td> 

Я также попытался поставить value='8' на <span>, а <p> среди других.

$('.equis').click(function(){ 
    var compra_id = $(this).val(); 
    alert("ID: "+compra_id); 
}); 

Но compra_id не получает значение «8».

Я попытался решить это несколькими другими способами, но мне кажется, что путь должен быть чем-то подобным этому. То, что я хочу сделать, на самом деле очень просто; надеюсь кто-то может помочь мне.

+0

Используйте скрытое поле ввода, '<входной тип = "скрытый">' для этого, а не '' –

ответ

2

value может быть получен только с помощью val() на формы контроля.

Предлагайте с использованием атрибута data- вместо так value бессмысленно

<td class='equis' data-value='8'>X</td> 

Затем используйте

$('.equis').click(function(){ 
    var compra_id = $(this).data('value'); 
    alert("ID: "+compra_id); 
}); 
1

Вы должны использовать attr, как показано ниже.

$('.equis').click(function(){ 
    var compra_id = $(this).attr('value'); 
    alert("ID: "+compra_id); 
}); 
1

ИМО лучше, если вы могли бы использовать data атрибутов с момента значения в <td> тега не Валида:

<td class='equis' data-value='8'>X</td> 

В ваших JS можно получить значение как:

$('.equis').click(function(){ 
    var compra_id = $(this).data('value'); 
    alert("ID: "+compra_id); 
}); 

Надеюсь это поможет.


$('.equis').click(function(){ 
 
    var compra_id = $(this).data('value'); 
 
    alert("ID: "+compra_id); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td class='equis' data-value='8'>X</td> 
 
    </tr> 
 
<table>

2

вы не можете использовать Вэл() для табличных данных. попробуйте вместо этого:

$('.equis').click(function(){ 
    var compra_id = $(this).attr('value'); 
    alert("ID: "+compra_id); 
}); 
+0

они уже установили атрибут 'value':' X ' –

+1

Вы правы, мой ответ был неясным. Я отредактировал его для ясности. благодаря! – erica