2013-06-25 4 views
0

Я пытаюсь сделать скрытое текстовое поле видимым, когда выбрано определенное значение параметра. Оно работает, когда доступно несколько вариантов, потому что оно отвечает на onChange. Как я могу заставить его работать, если это единственный вариант, первый флажок в моем примере.Отображение скрытого текстового поля при выборе определенного значения опции

Js Fiddle - http://jsfiddle.net/8bm9R/

Это моя функция Js

function showOther(fieldObj, otherFieldID) { 
    var fieldValue = fieldObj.options[fieldObj.selectedIndex].value; 
    var otherFieldObj = document.getElementById(otherFieldID); 
    otherFieldObj.style.visibility = (fieldValue == 'other') ? '' : 'hidden'; 
    return; 
} 
+4

кажись работает для меня [скрипку] (http://jsfiddle.net/8bm9R/1/). Только что выбранный _No wrap - в _ с левой стороны. –

+0

Да, похоже, что он работает ... – mohkhan

+0

Кстати, просто fyi, вам не нужно делать 'fieldObj.options [fieldObj.selectedIndex] .value', чтобы получить значение. Просто 'fieldObj.value' будет делать. – mohkhan

ответ

0
$("select").change(function() { 
if($(this).val() == "expected_value") { 
otherFieldObj.style.visibility = "visible" 
} 
else { 
otherFieldObj.style.visibility = "hidden" 
} 
}); 
2

Я обновил JsFiddle:

В основном JsFiddle злоупотребляют, функция должна быть установлена завернутый в заголовок вместо «onLoad».

jsfiddle.net/8bm9R/2/

function showOther(fieldObj, otherFieldID) 
{ 

    var fieldValue = fieldObj.options[fieldObj.selectedIndex].value; 
    var otherFieldObj = document.getElementById(otherFieldID); 

    otherFieldObj.style.visibility = (fieldValue=='other') ? '' : 'hidden'; 

    return; 
} 

Приветствия

+0

Как сделать первую операцию выбора, в которой единственным вариантом является то, что делает текстовое поле. какое это было бы. извините, я новичок в js. –