2013-03-01 3 views
0

Я искал правильный путь (работает во всех большинстве браузеров), чтобы изменить цвет текста таблицы ячеек (который является ссылкой), когда содержимое в форме изменяется с использованием события onchange , Я использую это:Изменить цвет ячеек таблицы при использовании формы события onchange

JavaScript код

function changeColor(num){ 
    if (num == "1"){ 
       cont = num - 1; 
       answer[cont] = 1; 
       document.getElementById("cell_1").className="cellNumFilled"; 
     } 

HTML код

<table border="1" cellspacing="0" cellpadding="2"> 
    <tr> 
    <td><a class="cellNum" HREF="#preg1" title="1" id="cell_1">1</a></td> 
    <td><a class="cellNum" HREF="#preg2" title="2" id="cell_2">2</a></td> 
    <td><a class="cellNum" HREF="#preg3" title="3" id="cell_3">3</a></td> 
    </tr> 
</table> 

<div id="quesItem"> 
<p><b>1. [ 1 Pts.]</b> bla bla bla</p> 
<p>Answer: 
    <input type="text" name="a6" maxlenght="200" size="20" onchange="changeColor(1)" /> 
    <input type="button" value="Preview"/> 
</p> 
</div> 

Полный "функциональный код" находится в этом jsfiddle.

При изменении содержимого в поле ввода цвет в верхней части таблицы также должен измениться. Я использую два класса для тега, по умолчанию один, а другой - при изменении содержимого через document.getElementById («idName»). ClassName = «newClassName»; но не работает. Любая идея почему? или лучший и простой способ сделать это?

+0

Вы возражаете с помощью JQuery? – ssilas777

+0

На данный момент я просто хочу одно решение, позже я выберу лучшее. – EFG

ответ

0

Перед установкой класса просто удалить этот атрибут, как этот

document.getElementById("cell_1").removeAttribute("class") 

, а затем

document.getElementById("cell_1").setAttribute("class","cellNumFilled") 
+0

Я видел это здесь, в другом подобном вопросе, но все равно не работает, спасибо. Может быть, вы можете помочь мне догадаться, почему? Я вношу изменения в http://jsfiddle.net/edwinfg/rMSV2/17/ – EFG

+0

@EFG У меня возникла ваша проблема. просто удалите ответ [cont] = 1; (потому что ответ не определен нигде) из вашего скрипта. Он отлично работает на простой странице html. но извините за jsfiddle. я все еще не могу назвать ваш метод там – Sachin

+0

Теперь работает, как вы сказали в простом html, но работает с переменной ответа, я не знаю, что происходит, но работает, спасибо большое. – EFG

0

попробуйте ниже:

document.getElementById("idName").setAttribute('class', 'className'); 

Я надеюсь, что это помогает.

+0

Я видел это здесь, в другом подобном вопросе, но все равно не работает, спасибо. – EFG

+0

В коде говорится, что changepic не определен в jsfiddle. –

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