2013-01-06 2 views
0

Pure JavaScript.Выполнение пользовательской функции onChange

У меня есть флажок в HTML-странице. Я хочу, чтобы выполнить

App.setCheckedProperty(name, val); 

Где name это имя атрибута чекбокса и val истина/ложь средства проверяются.

Как его реализовать? Я не могу найти никаких материалов в Интернете.

UPD:

<input type="checkbox" name="smth" onChange="<WHAT TO DO HERE?>" checked /> 

Окончательное исполнение должно быть равно:

App.setCheckedProperty("smth", false); 

UPD2:

Есть ли contructions как this.name или this.checked в JavaScript?

+0

Это всегда полезно включить код, который вы пробовали, что не сделал Работа. –

+0

Прошу прощения, но у меня нет кода для этого - я не знаю, как это сделать. –

+0

Да, 'this.name' и' this.checked' оба существуют, и оба должны быть переданы вашей функции в 'onchange' –

ответ

1

вы не должны делать это «inline» внутри вашего html. его просто плохая практика. Я думаю, что вы хотите сделать, чтобы перебрать пару флажков?

см этот код:

// declare all vars that you need and find all input-elements 
var i, input, inputs = document.getElementsByTagName('input'); 

// loop over all input-elements 
for(i = 0; i <= inputs.length; i++) { 
    input = inputs[i]; 

    // if the current element is a checkbox 
    if(input.type === 'checkbox') { 

    //append a click-handler to that checkbox 
    input.onclick = function() { 

     // if the checkbox is clicked, you can find the name and the checked-property 
     App.setCheckedProperty(this.name, this.checked); 
    }; 
    } 
} 

и рабочий пример здесь (я просто предупреждение вместо App.setCheckedProperty): http://jsfiddle.net/5wExJ/

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