2013-05-26 5 views
0

대화 상자 창에서 라디오 버튼을 선택했을 때를 제외하고 작동하는 코드가 있습니다. 항상 첫 번째 값을 선택합니다. PHP에서이 코드를 ID (pd_id)로 사용하여 원하는 결과를 제공합니다.라디오 버튼을 선택할 수 없습니다. 값 Jquery

무엇이 잘못되었을 수 있습니까? 이 예제에서는 라디오 버튼에서 선택하는 옵션에 관계없이 항상 물을 얻습니다.

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
<style> 
    body { font-size: 62.5%; } 
    label, input { display:block; } 
    input.text { margin-bottom:12px; width:95%; padding: .4em; } 
    fieldset { padding:0; border:0; margin-top:25px; } 
    h1 { font-size: 1.2em; margin: .6em 0; } 
    div#users-contain { width: 350px; margin: 20px 0; } 
    div#users-contain table { margin: 1em 0; border-collapse: collapse; width: 100%; } 
    div#users-contain table td, div#users-contain table th { border: 1px solid #eee; padding: .6em 10px; text-align: left; } 
    .ui-dialog .ui-state-error { padding: .3em; } 
    .validateTips { border: 1px solid transparent; padding: 0.3em; } 
</style> 

<script> 
    $(function() { 
     var name = $("#name_34"); 

     $("#dialog-form-34").dialog({ 
      autoOpen: false, 
      height: 300, 
      width: 350, 
      modal: true, 
      buttons: { 
       "Select": function() { 
        var bValid = true; 
        name.removeClass("ui-state-error"); 
        //name.val("").removeClass("ui-state-error"); 

        // $("#users_34 input").append(name.val()); 



        $('input[name=users_34]').val(name.val()); 
alert(name.val()); 

        $(this).dialog("close"); 


       }, 
       Cancel: function() { 
        $(this).dialog("close"); 
       } 
      }, 
      close: function() { 
       name.val("").removeClass("ui-state-error"); 
      } 
     }); 

     $("#spice_34") 
       .button() 
       .click(function() { 

      $("#dialog-form-34").dialog("open"); 
     }); 
    }); 
</script> 




<form id="dialog-form-34" title="Select Spice Level" method="post"> 

    <input type="radio" id="name_34" value="Water" class="text ui-widget-content ui-corner-all"> Water<br> 
<input type="radio" id="name_34" value="Beer" class="text ui-widget-content ui-corner-all"> Beer<br> 
<input type="radio" id="name_34" value="Wine" checked class="text ui-widget-content ui-corner-all">Wine 
</form>   


<input id="users" name="users_34" type="text "class="ui-widget ui-widget-content" readonly/>   
<button id="spice_34">Select</button> 
+1

가 두 개 이상의 동일한 ID를 부여 했 하나의 요소? 너처럼 보이는데. –

+0

$ ID에 따라 다른 ID가 있습니다. 이 코드는 3 세트를 생성하기 위해 루프에서 실행되지만 모두 다른 ID로 실행됩니다. – user2419061

+1

생성 된 코드 (가능한 경우 관련 부분 만)를 표시 할 수 있습니까? –

답변

1

HTML의 요소마다 다른 ID가 있어야합니다. 당신이 라디오 버튼 평등해야하는 이름입니다 : 선택된 요소의 값을 얻기 위해, 그리고

<input type="radio" name="yourname" value="Water" class="text ui-widget-content ui-corner-all"> Water<br> 
<input type="radio" name="yourname" value="Beer" class="text ui-widget-content ui-corner-all"> Beer<br> 

, 당신은이 작업을 수행 할 수 있습니다

var value = $('[name="yourname"]:checked').val(); 
관련 문제