2014-02-18 2 views
0

У меня есть кнопка, которая выглядит следующим образом:Как динамически изменять значения OnClick

<button id="button-1" onclick="adjustValue(1, 1, 30, 1, 'user');">Test</button> 

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

function adjustValue() { 
    // Something to alter the field values 
} 

Например, после того, как функция запущена, я хочу, чтобы она изменила поле onclick кнопки. (Цифры в приведенном ниже примере являются случайными.)

<button id="button-1" onclick="adjustValue(1, 2, 60, 1, 'user');">Test</button> 

Я считаю, что нужно было бы использовать что-то с document.getElementById. Тем не менее, я все еще новичок в JavaScript, и я не знаю, как это сделать.

+0

Возможно, но это не имеет большого смысла. Скорее используйте подходящий метод привязки событий и переменные, чтобы изменить значения аргументов. – Teemu

+0

Ваш вопрос/потребность ужасно запутанна. Откуда эти аргументы? что вы хотите с ними делать? откуда берутся новые аргументы? ты думал об этом? – Renaissance

+0

'$ ('# button-1'). Attr ('onclick'," adjustValue (1, 2, 60, 1, 'user'); ");', но вы не должны использовать встроенный скрипт и, на самом деле это не способ установить параметры ... –

ответ

0

Для доступа к кнопке от adjustValue() вы можете перейти по параметру this. Например:

adjustValue(1, 2, 60, 1, 'user', this); 

Параметр this будет button#button-1, в котором вы можете изменить значение <button>

0

Я не думаю, что это лучший подход.

Я предпочел бы пойти на что-то вроде этого:

<button id="button-1" onclick="adjustValue(this);" data-values='["12","b","c"]'>Test</button> 

И в яваскрипте части:

function adjustValue(element) { 
    var val = $(element).data("values"); 
    //Do something with val 
    var newValues = [42,"world","hello"]; 
    $(this).data("values",newValues); 
} 

Или вы также можете поместить все в JavaScript переменных непосредственно:

<button id="button-1" onclick="adjustValue();">Test</button> 

И javascript:

var values = [1,2,3]; 
function adjustValue() { 
    values = [4,5,6]; 
} 
Смежные вопросы