2016-10-14 5 views
0

를 통해 낮은 값으로 값을 설정할 수 없습니다 : 내가 AJAX를 통해 값을 검색하고JQuery와 라디오 버튼은 내가 다음과 같은 라디오 버튼 그룹이 코드

<label><input type="radio" name="GroupTypeOffUnitOnUnit" value="0">1:1</label> 

<label><input type="radio" name="GroupTypeOffUnitOnUnit" value="1">Option</label> 
<label><input type="radio" name="GroupTypeOffUnitOnUnit" value="2">Other Option</label> 

을, 나는 돌아 오는 값이 있음을 확인했다 옳은. 그러나 프로그래밍 방식으로 값을 현재 값보다 작은 값으로 설정하려고하면 현재 값은 2이고 선택한 값을 1로 설정하면 선택한 라디오 단추가 2로 유지됩니다. 반면에 , 현재 선택된 라디오 버튼의 값이 1이면 2로 설정할 수 있습니다.

더 높은 값이 낮은 값 뒤에 올 때 버튼이 웹 페이지에서 발생하는 순서와 관련이 있다고 생각하지만이 값을 계산하려고합니다. 또한 여기에 새 값을 확인해야하는 javascript 함수가 있습니다.

function setRadioInputValue(targetid, name, value) 
{ 
    $("#" + targetid + " input[name=" + name + "][value=" + value + "]").attr('checked', true); 
} 

답변

0

을 통해 생각 후, 나는 특정 라디오 버튼에 클릭을 트리거하기로 결정, 그래서 라디오 버튼을 선택해야 호출은 다음 .click() 함수과 같이 트리거 :

$("#" + targetid + " input[name=" + name + "][value=" + value + "]").click(); 
1

먼저 모든 대상 입력의 라디오 버튼 checked 값을 false로 설정하고 원하는 값을 true로 설정해야합니다. 그렇지 않으면 true으로 설정된 '가장 높은'(또는 가장 먼 자식) 값이 선택됨으로 표시됩니다. 이 같은

뭔가 :

function setRadioInputValue(targetid, name, value) { 
    $("#" + targetid + "input[name=" + name + "]").each(function(it) { 
     it.attr('checked', false); 
    }); 
    $("#" + targetid + " input[name=" + name + "][value=" + value + "]").attr('checked', true); 
} 
1

당신은 아마 추가 아포스트로피를 놓치고있어. 사용해보기 :

function setRadioInputValue(targetid, name, value) { 
    $("#" + targetid + " input[name='" + name + "'][value='" + value + "']").attr('checked', true); 
} 
관련 문제