2014-09-18 3 views
0

У меня есть форма с полем ввода (FIELD1). Когда пользователь вводит FIELD1, он фильтрует значения в FIELD2. Затем они нажимают на FIELD2, и на дисплее отображается значение, выбранное с помощью javascript (этот учебник: http://www.tizag.com/javascriptT/javascript-innerHTML.php). Проблема, с которой я сталкиваюсь, заключается в том, что значение FIELD2 является идентификатором companyID в таблице - как включить javascript для поиска названия компании из таблицы. Изображение прилагается.php изменение javascript innerHTML с выбором значения из таблицы

<script type="text/javascript"> 
function changeText2(){ 
    var userInput = document.getElementById('cv_bus').value; 
    document.getElementById('boldStuff2').innerHTML = userInput; 
    document.getElementById('filterTxt').innerHTML = userInput; 
} 
</script> 


<table style="width:500px;border:1px solid #000;"> 
<tr><td>2</td><td>Type in the box below to narrow the list of names:</td></tr> 
<tr><td></td><td><input type="text" name="filterTxt" id="filterTxt" tabindex="2" style="width: 400px"></td></tr> 
<tr><td></td><td><p>SELECTED: <font color=red><b id='boldStuff2'>NONE</b> </p></font></td></tr> 
<tr><td></td><td>Select the apropriate name:</td></tr> 
<tr><td></td><td><select autocomplete="off" id="cv_bus" name="cv_bus" size=15 tabindex="2" style="width: 400px" onclick="changeText2()"> 
<?php 
    include 'cv_con.php'; 
    $get = mysqli_query($con,"SELECT * FROM cv_companies order by compname"); 
    $result = mysqli_query($con,"SELECT * FROM cv_companies order by compname"); 
    //$option = ''; 

    while($row = mysqli_fetch_array($result)) { 
    $option .= '<option value = "'.$row['id'].'">'.$row['compname'].'</option>'; 
    } 
?> 
<?php echo $option; ?></select> 

enter image description here

ответ

0
var el = document.getElementById('cv_bus'); 
var text = el.options[el.selectedIndex].innerHTML; 

Попробуйте этот пример, сначала получить идентификатор затем получить доступ к метке опций.

0

заменить этот

var userInput = document.getElementById('cv_bus').value; 

с

var userInput = cv_bus.options[cv_bus.selectedIndex].text; 

другой способ передать это в функции:

<select autocomplete="off" id="cv_bus" name="cv_bus" size=15 tabindex="2" style="width: 400px" onclick="changeText2(this);"> 

function changeText2(selObj){ 
    var userInput = selObj.options[selObj.selectedIndex].text; 
    document.getElementById('boldStuff2').innerHTML = userInput; 
    document.getElementById('filterTxt').innerHTML = userInput; 
} 
+0

@Sameera Thilakasiri Ответ является более надежным. Но с id его тоже работает. – herr

Смежные вопросы