-3

データベースから値が表示されるテーブルがありますが、8行目の2列目に値が表示されます.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 ステートメントを使用する必要があります。

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を使用したい場合、これはうまくいきます -

select要素のIDが「myselect」であると仮定します

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

これにより、その値である 8 ではなく Ontario が得られます。その後、通常使用する方法でこれをデータベースに挿入できます。

于 2012-07-16T16:37:11.513 に答える