2009-05-05 3 views
0

를 사용하여 라디오의 값을 업데이트하는 방법 :나는 라디오에 대해이 HTML 코드가 jQuery를

<input type='radio' name='a_27' value='Yes' id='a_27_0' /> 

<input type='radio' name='a_27' value='No' id='a_27_1' /> 

이 코드를 사용하여 라디오의 선택된 값을 설정하기 위해 노력하고있어 :

var field="a_" + this.id; 
$('[name="' + field + '"]').val(this.value); 
console.log("name is " + field + ", val is " + this.value); 

을 그러나 작동하지 않습니다. 아무 것도 실행되지 않습니다.

이름 a_27입니다 발 예

모든 아이디어이며, 다음은 3 라인 이후에 발생 방화범의 콘솔에서 출력입니까?

또한 <select>s에서 작동하는 방법을 선호하므로 라디오에 대한 별도의 코드를 작성하고 선택할 필요가 없습니다.

편집 : 이상한 문제 내 HTML 코드가 다른 값 (예/아니오)을 제공하지만 방화 광에서 두 라디오가 '예'값을 갖는 것으로 나타났습니다. 아니요를 선택하고 저장을 클릭하면 자바 스크립트 함수는 여전히 아니요 대신 '예'를받습니다. 내가 뭔가 잘못하고 있는거야?

편집 2 : 전체 기능 : this.value이 다른 경우

function processMultiOptAnswers() 
{ 
    $.each(multiOpts,function() 
     { 
      var field="a_" + this.id; 
      console.log("name is " + field + ", val is " + this.value); 

      $('[name="' + field + '"]').val(this.value); 
     } 
    ); 
} 
+0

몇 가지 추가 정보를 추가 할 수 있습니까? 특히 'this'가 무엇인지 정확하게 알 수 있도록 자바 스크립트가 호출되는 상황. 나는 그것이 onclick 인 것을 추측하고있다? – roborourke

+0

$ (document) .ready() –

+0

$ ('[name = "'+ field + '"]'). 발 (this.value); 두 라디오를 모두 선택합니다 ... 왜 두 라디오가 같은 값을 가지기를 원하십니까? 지금은 의미가 없기 때문에 checked = "checked"속성으로 작업하는 것이 확실합니까? 또한 문서가 준비되어 있으면 'this'= document ?? – roborourke

답변

0

로그가 있어야한다.

$('[name="' + field + '"]').val(this.value); 
console.log("name is " + field + ", val is " + $('[name="' + field + '"]').val()); 

은 내가 이것을 테스트하지 않았습니다
$('[name="' + field + '"]').attr("checked", "checked"); 

를 선택하게하려면,하지만 당신은 다른 사람에서 그 속성을 제거해야 할 수도 있습니다.

+0

Weird, 새로운 (변경된) 값을 제공하지만 양식 자체에 적절한 값이 선택되지 않습니다. 라디오를 만들기위한 html 코드에 문제가 있습니까? –

+0

위의 편집을 참조하십시오 –

+0

라디오가 선택되었지만 여전히 모든 라디오에 대해 동일한 값을 표시합니다 ... –