0

私は HTML オーダーフォームとステップで忙しいです。最後のステップで、要約を作成しています。カテゴリー以外は順調です。カテゴリ値はデータベースによって入力され、カテゴリの ID です。しかし、私が本当に必要としているのは、オプションのテキストです。

たとえば、カテゴリ ID = 62 のテキスト: Huurwoning、現在は 62 と表示されていますが、Huurwoning を表示したいと考えています。これは jsfiddle です: http://jsfiddle.net/H9McM/1/

<select name="catid" onmouseup="copyText(this)" id="catid" class="inputbox required"><option value="" >Selecteer Categorie&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option><option value="62" >Huurwoning</option><option value="58" >Kamerhuur</option><option value="59" >Parkeren</option><option value="60" >Vakantiewoning</option><option value="61" >Bedrijfsruimte</option></select>

<script>
function copyText(e)
 {
    var matchingElements = document.getElementsByClassName( e.name + 'preview' ),
        matchCount = matchingElements.length;

    for (var i =0; i< matchCount; i++){
       matchingElements[i].innerHTML = e.value;
    }
 } </script>

<script>
$(".catidpreview").draggable({ containment: '#dragcontainer' });
</script>

<div class="catidpreview"></div>
4

2 に答える 2

0

こんにちは以下のコードをお試しください...

HTMLCode:

<select name="catid" onmouseup="copyText(this)" id="catid" class="inputbox required"><option value="" >Selecteer Categorie&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option><option value="62" >Huurwoning</option><option value="58" >Kamerhuur</option><option value="59" >Parkeren</option><option value="60" >Vakantiewoning</option><option value="61" >Bedrijfsruimte</option></select>
<input name="title" onkeyup="copyText(this)" value="">

<div class="catidpreview"></div>
<div class="titlepreview"></div>   

JavaScriptコード

function copyText(e)
 {

    var matchingElements = document.getElementsByClassName( e.name + 'preview' );
        matchCount = matchingElements.length;

  if(e.nodeName=="INPUT")
  {

    for (var i =0; i< matchCount; i++){
       matchingElements[i].innerHTML = e.value;;
    }
  }
     else
     {
    for (var i =0; i< matchCount; i++){
       matchingElements[i].innerHTML = e[e.selectedIndex].innerHTML;
     }
     }
} 



$(".catidpreview").draggable({ containment: '#dragcontainer' });
$(".titlepreview").draggable({ containment: '#dragcontainer' });

更新されたフィドル:http://jsfiddle.net/H9McM/10/

于 2013-01-29T11:42:14.393 に答える
0

オプションテキストを意味する場合は、これを試すことができます:

matchingElements[i].innerHTML = e[e.selectedIndex].text;

またonchange、このタスクにはより良いイベントかもしれません。

jsFiddleでのライブ デモ


編集

コメント内で質問を補足したので、forループ内で必要な行は次のとおりです。

matchingElements[i].innerHTML = (e.type === 'text') ? e.value : e[e.selectedIndex].text;

jsFiddleの固定デモ

于 2013-01-29T11:12:22.763 に答える