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

如果你的意思是选项文本,你可以试试这个:

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 回答
0

嗨试试下面的代码....

HTML代码:

<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 回答