-3

我有一个表,其值是从数据库中显示的,但在第 8 行第二列显示一个值,即 8,它是加拿大的一个省,即“安大略省”,现在我想要省的名称而不是值。这是旧站点使用的,因此,我不想更改数据库中的数据,因为它的大小确实很大。我想使用 javascript,以便它只显示这个供用户阅读,而不是更改数据库中的值。

数据显示在表格中

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

这就是我想要的

如果值为“0”,则应显示“Alberta”

如果值为“1”不列颠哥伦比亚省

如果值为“2”马尼托巴

如果值为“3”新不伦瑞克

如果值为“4”纽芬兰

如果值为“5”新斯科舍省

如果值为“6”西北地区

如果值为“7”努纳武特

如果值为“8”安大略

如果值为“9”爱德华王子岛

如果值为“10”魁北克

如果值为“11”萨斯喀彻温省

如果值为“12”育空地区

“谢谢,但表单与显示值的页面不同”它应该使用 if else 语句,如果第 8 行第二列显示“8”,那么值应该显示为“安大略”

4

4 回答 4

0

您想像这样使用元素的selectedIndex属性:select

selectElement.options[selectElement.selectedIndex].innerText;

演示

于 2012-07-16T16:34:32.717 回答
0

简单的 :)

$('option:selected').val();
于 2012-07-16T16:34:32.823 回答
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());
于 2012-07-16T16:35:54.350 回答
0

如果您想使用纯 Javascript,这将起作用 -

假设您的选择元素的 id 是“myselect”

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

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

于 2012-07-16T16:37:11.513 回答