2009-12-18 3 views
0

jquery의 thickbox 플러그인 (버전 3)을 사용하고 있으며 내부에 $ .post를 사용하여 제출할 양식을 배치하려고합니다. 그러나 양식 요소는 정상적으로 작동하지 않습니다. 예를 들어 선택 상자 jquery thickbox 내부에서 비정상적으로 동작하는 폼 요소

<select name="priority" id="priority"> 
    <?php for($i = 5; $i > 0; $i--){ ?>           
      <!-- <input type="radio" class="star" name="priority" value="<?php echo $i ?>"> --> 
      <option value="<?php echo $i; ?>"><?php echo $i; if($i == 5) echo ' (lowest)'; if($i == 1)echo ' (highest)'; ?></option>    
    <?php } ?> 
    </select> 

내가 제출 함수를 호출 버튼을 클릭

,

function add(){ 
    var pr = document.getElementById("priority").value; 
    console.log(pr); 

} 

이 첫 번째 값 즉, 경고가있다. 5 옵션을 선택하지 않아도됩니다.

도와주세요. 이것은 일반적으로 직면 한 문제입니까? 당신이 jQuery를 사용하는 것처럼

답변

1

, 당신은

var pr = $("#priority option:selected").val(); 

또는

var pr = $("#priority").val(); 

대신

var pr = document.getElementById("priority").value; 

의이 그것을

이 이상 http://docs.jquery.com/Attributes/val를 참조 해결해야 사용해야합니다 나는 NFO

+0

사실 이것은 처음에 작성한 것이지만 실패하면 기본 js를 시도했습니다. 내 지식에 따라 document.getElementById는 jquery와 함께 작동해야합니다. – naiquevin

1
jQuery로

: 당신은 당신이 할 수 있어야 순수 자바 스크립트를 사용하고자하는 경우

var pr = $("#priority option:selected").val(); 

가 :

var i = document.getElementById("priority").selectedIndex; 
var options = document.getElementById("priority").options; 

var value = options[i].value; 
+0

+1 doh를 수정하십시오! 그게 내가 내 대답에 잘못이있어, 내 jQuery를 닦을 필요가있어! – Rowan

+0

흥미로운 점은 내가 방금 $ ('# 우선 순위')를 시도했기 때문이며 val()이 제대로 작동했음을 의미합니다. –

+0

예, 방금 다시 확인했는데 원래는 옳았습니다. 두 방법 모두 유효합니다. – Rowan

1

내가 특별히 Thickbox와 모르지만, 형태에 문제가 일반적이다 Lightbox와 같은 많은 도구. 그 이유는 도구 1. 양식 컨텍스트에서 양식 요소를 가져오고 일반적으로 을 DOM 수준의 Thickbox/Lightbox에 복사합니다. 상자가 닫히면 변경된 설정이 남아있는 상태로 제대로 이동하지 않고 요소가 파괴되거나 재설정됩니다.

일반적으로 DOM 요소를 안전하게 앞뒤로 전송할 수 있도록 * 상자 스크립트 자체를 변경하여이 동작을 변경할 수 있습니다.