2013-02-22 2 views
0

Я пытался заменить входы значения со строкой, используя этот код:Попытки изменить значение входного возвращает ошибку

$('input[name=availibility]').value() = current; 

Который подбрасывает:

Uncaught ReferenceError: Invalid left-hand side in assignment 

код вызывается из OnChange обработчик, который запускает эту функцию (простите код спагетти):

function avail(element){ 
    if(element.checked){ 
     var current = $('input[name=availibility]').text(); 
     if(current != ''){ 
     current = current + ', ' + element.attr("name"); 
     } 
     else{ 
      current = $(this).attr("name"); 
     } 

     $('input[name=availibility]').value() = current; 
    }else{ 
     if(!$('input[name=availibility]').text().replace(element.attr("name")+',','')) 
     { 
      $('input[name=availibility]').text().replace(element.attr("name"),''); 
     } 
     } 
    } 

Любые идеи, что я делаю неправильно?

+0

Вы пытаетесь присвоить значение вызову функции. – ultranaut

+0

Пожалуйста, прочтите документацию: http://api.jquery.com/val/#val2. –

ответ

2

Вы не можете назначить вызов функции (это только часть синтаксиса JavaScript/ECMA, но это не имеет смысла делать это семантически либо). Когда вы вызываете функцию, вы должны передавать ей параметры внутри круглых скобок.

$("input[name=availibility]").value(current); 

Возможно, вы также имеете в виду использовать .val. В документации также показан правильный способ ее выполнения.

Вы также неправильно указали «доступность».

+0

Спасибо, что я получаю за то, что я был в 3 часа ночи. Хотя, наличие было намеренным. Еще раз спасибо. –

1

Я думаю, что это должно быть что-то вроде этого:

$('input[name=availibility]').value(current); 
+0

Большое спасибо! –