我有一个表,其值从数据库显示,但在第8行第二列显示一个值,即8,这是一个加拿大省,即' Ontario'现在我想要省的名称而不是值。这是旧网站使用的,因此,我不想更改数据库中的数据,因为它的大小非常大。我想使用javascript,以便它只显示这个以供用户阅读而不是更改数据库中的值。
数据在表格中显示
<table>
<tr></tr>
...8th row<tr><td></td><td>Value lies here i.e. '8'</td></tr>
</table>
这就是我想要的方式
如果值为&#34; 0&#34;它应该显示&#34;艾伯塔省&#34;
如果值为&#34; 1&#34;不列颠哥伦比亚省
如果值为&#34; 2&#34;马尼托巴
如果值为&#34; 3&#34;新不伦瑞克省
如果值为&#34; 4&#34;纽芬兰
如果值为&#34; 5&#34;新斯科舍省
如果值为&#34; 6&#34;西北地区
如果值为&#34; 7&#34;努勒维特
如果值为&#34; 8&#34;安大略
如果值为&#34; 9&#34;爱德华王子岛
如果值为&#34; 10&#34;魁北克
如果值为&#34; 11&#34;萨省
如果值为&#34; 12&#34;育空
&#34;谢谢,但表格与其显示价值的页面位于不同的页面上。它应该使用if else语句,如果第8行第二列显示&#39; 8&#39;然后该值应显示为&#39; Ontario&#39;
答案 0 :(得分:0)
您希望使用select
元素的selectedIndex
属性,如下所示:
selectElement.options[selectElement.selectedIndex].innerText;
答案 1 :(得分:0)
简单:)
$('option:selected').val();
答案 2 :(得分: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());
答案 3 :(得分:0)
如果你想使用普通的Javascript,这将有效 -
假设你的select元素的id是“myselect”
var name = document.getElementById('myselect').options[document.getElementById('myselect').selectedIndex].text;
这将给你安大略省而不是8,这是它的价值。然后,您可以使用通常使用的任何方法将其插入数据库。