2011-01-28 3 views
0

Предположим, у меня есть следующий код, который создает два переключателя:Javascript и HTML - OnClick

<li id="foli517"  class="  "> 
<label class="desc" id="shippingChoice" for="Field517_0"> 
    Shipping Options 
     </label> 
<div> 
<input id="shippingChoice" name="Field517" type="hidden" value="" /> 
    <span> 
<input id="shipping1"  name="Field517"   type="radio"  class="field radio"   value="$2.00 Shipping Fee"  tabindex="13"      checked="checked"      /> 
<label class="choice" for="Field517_0"  > 
    $2.00 Shipping Fee</label> 
    </span> 
    <span> 
<input id="Field517_1"  name="Field517"   type="radio"  class="field radio"   value="I will pick up the items (free shipping)"  tabindex="14"        /> 
<label class="choice" for="Field517_1"  > 
    I will pick up the items (free shipping)</label> 
    </span> 
    </div> 
</li> 

Как бы я реализую Javascript функция OnClick, которая обновляет внутренний HTML в пролете с идентификатором «mySpan» с слово «БЕСПЛАТНО» при нажатии 2-го переключателя и «НЕ БЕСПЛАТНО» в противном случае?

document.getElementById(WHAT GOES HERE).onclick = function() { 
    //what goes here? 
}; 
+1

Не могли бы вы улучшить форматирование кода? –

ответ

0
document.getElementById('foli517').onchange = function(e) { 
    var e = e || event; 
    var target = e.target || e.srcElement; 
    var span = document.getElementById('mySpan'); 
    var span2 = document.getElementById('mySpan2'); 

    if (target.type === "radio") { 
     span.innerHTML = (target.id === "Field517_1") ? "FREE" : "NOT FREE"; 
    } 
    if (target.type === "checkbox") { 
     span2.innerHTML = "Is it checked? " + target.checked; 
    } 
}; 

Пример:http://jsfiddle.net/pEYnm/2/

+0

Это сработало отлично. Не могли бы вы показать мне пример флажка? Как узнать, установлен ли флажок true или false? (щелкнул или не нажал) – CodeGuy

+0

@ reising1: Конечно. Я уточню через минуту. – user113716

+0

@ reising1: Обновлено. Свойство, которое вы используете для получения проверенного статуса, просто «проверено». – user113716

0

Я бы добавил onclick = "setSpan ('FREE');" и onclick = "setSpan ('NOT FREE');" в HTML соответствующих переключателей, затем добавьте функцию javascript, как показано ниже, которая устанавливает HTML диапазона.

function setSpan(text) { 
    document.getElementById('mySpan').innerHTML = text; 
} 
+0

как это ?: <ввод ID = "Field517_1" \t \t имя = "Field517" \t \t типа = "Радио" \t \t класс = "поле радио" \t \t значения = "Я подберу элементы (бесплатную доставку)" \t \t tabindex = "14" \t \t \t onclick = "setShippingSpan ('$ 0.00');" \t \t \t \t \t /> – CodeGuy

+0

Точно. Я думаю, что это проще сделать, чем добавлять обработчики onEvent и т. Д. – christophmccann

+0

он, похоже, не работает. Я подтвердил, что мой идентификатор span верен. – CodeGuy

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