2012-07-16 61 views
-3

我有一个表格,其值从数据库中显示,但在第8行第二列,它显示了一个值,即8这是一个加拿大省,即“安大略省”,现在我想要省名而不是价值观。这是旧网站使用的,因此,我不想更改数据库中的数据,因为它的大小非常大。我想使用JavaScript,以便它只显示用户读取而不是更改数据库中的值。Javascript找到一个文本

的数据表中的

<table> 
<tr></tr> 
...8th row<tr><td></td><td>Value lies here i.e. '8'</td></tr> 
</table> 

这里displaed是我怎么想它

如果值为“0”,它应该显示“阿尔伯塔”

如果该值为“ 1“British Columbia

如果值为”2“Manitoba

如果v ALUE是“3”新不伦瑞克

如果该值是“4”纽芬兰

如果该值是“5”新斯科舍省

如果该值是“6”西北地区

如果的值是“7”努勒维特

如果该值是“8”安大略

如果该值是“9”太子岛

如果该值是“10”魁北克

如果该值是“11”萨省

如果该值是“12”育空

“谢谢,但形式是一个不同的页上比它显示的值“它应该使用一个if else语句,如果第8行第二列显示'8',那么该值应显示为'Ontario'

+3

真的不清楚你在问什么。 'value'属性是表单发送的内容,'

+0

您是否在表格中以及在选择框中显示数据? – kiranvj 2012-07-16 16:39:56

+0

我想我明白了。你想将选择菜单转换为表格? – 2012-07-16 16:44:22

回答

0

似乎是一个坏的解决方案,但一个简单的选择

var cell = $('#tableId tr:eq(7) td:eq(1)'); 
var txt = cell.text(); 
console.log(txt); 
var selectOption = $("#selectId option").eq(parseInt(txt,10)) 
cell.text(selectOption.text()); 

编辑:

var provs = ["Alberta","British Columbia"...]; 
var cell = $('#tableId tr:eq(7) td:eq(1)'); 
var index = parseInt(cell.text()); 
cell.text(provs[index].text()); 
+0

谢谢,但文本显示在表中请参阅更新的问题 – user1529450 2012-07-16 16:38:57

+0

非常感谢谢谢 – user1529450 2012-07-16 20:20:40

0

您想要使用selectselectedIndex属性像这样的元素:

selectElement.options[selectElement.selectedIndex].innerText; 

Demo

+0

谢谢,但文本显示在表中,请参阅更新的问题 – user1529450 2012-07-16 16:40:26

0

简单:)

$('option:selected').val(); 
+0

谢谢但文本显示在表中请参阅更新的问题 – user1529450 2012-07-16 16:38:39

0

如果你想使用普通的JavaScript,这将工作 -

假设你的选择元素的ID是“myselect”

var name = document.getElementById('myselect').options[document.getElementById('myselect').selectedIndex].text; 

这会给你安大略省,而不是8,这是它的价值。然后,您可以使用通常使用的任何方法将其插入数据库。

+0

,但文本显示在表中请参阅更新的问题 – user1529450 2012-07-16 16:40:05

+0

谢谢,但我不想更改数据库的值 – user1529450 2012-07-16 16:51:17

相关问题