2012-06-23 4 views
0

텍스트 필드를 활성화/비활성화하는 확인란을 원합니다. 체크 박스, 텍스트 필드가 활성화되면, 텍스트 필드의 값을 취득하고 그에 따라 드롭 옵션의 수가, 예를 들어TextField 값으로 DropDown 옵션을 설정하십시오.

을 설정 값 4가 텍스트 필드 있다면, 드롭 다운 메뉴의 옵션이되어야 1 2 3 4

다음 코드가 있습니다. 고맙습니다. 고마워요. 고마워요.

CakePHP의 양식

echo $this->Form->checkbox('custom_lvl_def', array('hiddenField' =>  false,'OnClick'=>"enable_disable()")); 
echo "Use custom level definitions"."&nbsp"; 
echo $this->Form->input('alternative_no_of_levels', array('style'=>'width:70px','label'=>'levels','div'=>false, 'disabled'=>TRUE)); 
echo "<br>"; 

echo $this->Form->input('dropdown', array(
    'options'=>$options, 
    'empty' => 'Select Level', 
    'label'=>'Type:', 
    'selected'=>'Select Level', 
    'style'=>'width:130px', 
    'div'=>false 
)); 

자바 스크립트 기능

function enable_disable() 
{   
    if($('#CompetenceCustomLvlDef').attr('checked')) 
     {    
      $('#CompetenceAlternativeNoOfLevels').removeAttr("disabled"); 
      // var $a=array ('Level'); 
      var value = $('#CompetenceAlternativeNoOfLevels').val(); 
      for (var i = 0; i < value; i++) { 
       $('#CompetenceDropdown').options[i].selected = i;   
      return; }   
     } 
    else     
      $('#CompetenceAlternativeNoOfLevels').attr('disabled', true); 

} 
+0

이 선택 (드롭 다운)의 값입니다 미리 설정하고 텍스트 필드 제한 디스플레이에 표시되거나 질문에 제안 된대로 생성됩니까? 선택 옵션에 대한 데이터 소스가 있습니까? – Stecman

+0

자바 스크립트 도움말이 필요할 때 게시 소스 html이 아닌 PHP – charlietfl

+0

텍스트 필드의 제한은 1-9입니다. 텍스트 필드에서 1-9 사이의 항목을 선택하면 되돌림을 원하기 때문에 opitions 수 여야합니다. –

답변

1

이것은 당신이 입력 레벨의 수에 대한 드롭 다운 목록의 배열을 얻을 도움이 될 수 있습니다. 양식이 시도 할 수있는 질문 사항에 따라 .. 스크립트에서

echo $this->Form->checkbox('custom_lvl_def', array('hiddenField' => false,'id'=>'id_custom_lvl_def', 'onclick'=>"javascript:enable_disable()")); 
echo "Use custom level definitions"."&nbsp"; 
echo $this->Form->input('alternative_no_of_levels', array('style'=>'width:70px','id'=>'id_alternative_no_of_levels','label'=>'levels','onblur'=>'javascript:enable_disable();', 'div'=>false,)); 
echo "<br>"; 
echo $this->Form->input('dropdown', array(
    'options'=>'', 
    'empty' => 'Select Level', 
    'label'=>'Type:', 
    'type'=>'select', 
    'id'=>'id_dropdown', 
    'name'=>'dropdown', 
    'style'=>'width:130px', 
    'div'=>false 
)); 

: 얼마나 많은

function enable_disable() 
{   
    $("#id_dropdown").empty(); 
    if($('#id_custom_lvl_def').attr('checked')) 
    {    
     $('#id_alternative_no_of_levels').removeAttr("disabled"); 
     var value = $('#id_alternative_no_of_levels').val(); 
     var optionsAsString = ""; 
     optionsAsString += "<option value=''>" + "Select Level" + "</option>"; 
     for (var i = 1; i <= value; i++) { 
      optionsAsString += "<option value='" + i + "'>" + i + "</option>"; 
     }   
     $('select[name="dropdown"]').append($(optionsAsString)); 
    } 
    else     
     $('#id_alternative_no_of_levels').attr('disabled', true); 
} 
관련 문제