2013-10-07 4 views
2

전 PHP에서 완전히 새로운 것입니다. 실제로이 작업을 수행하는 이유는 필자의 필요에 맞게 플러그인을 사용자 정의하는 것입니다. 지금까지 기본 양식이 있는데, 지금 내가하고있는 일은 국가 드롭 다운을 추가하는 것입니다. 나는 여기PHP에서 드롭 다운에서 선택된 텍스트 얻기

나는이 경우 국가 이름을 표시 텍스트를 얻을 수있는 방법
$cscf['country']; 

과 선택 항목의 값을 검색 할 경우에만 할 수 지금까지 내가 그것을

<div class="control-group"> 
    <label class="control-label" for="Country">Country :</label> 
    <div class="controls"> 
     <select id="itemType_id" name="cscf[country]" class="input-xlarge"> 
      <option value="[email protected]">Malaysia</option> 
      <option value="[email protected]">Indonesia</option> 
     </select> 
     <span class="help-inline"></span> 
    </div> 
</div> 

를 추가하는 방법은?

+0

u가 다른 페이지에서 값을 retire하고 싶다면 양식에서 다른 페이지로 값을 보내기 위해 GET/POST 메서드를 사용할 수 있도록 양식이 필요합니다 .. – Ashish

+0

당신은 usin으로 처리 할 수 ​​있습니까? 그렇지 않으면? 정말 좋은 방법은 아니지만. – zxc

답변

8

당신은 숨겨진 필드를 사용하여 시도하고 자바 스크립트와 jQuery를 함께이 분야의 선택된 값으로 값을 설정할 수 있습니다 드롭 다운이 변경됩니다. 페이지가 제출 될 때

<select id="itemType_id" name="cscf[country]" class="input-xlarge"> 
    <option value="[email protected]">Malaysia</option> 
    <option value="[email protected]">Indonesia</option> 
</select> 
<input type="hidden" name="country" id="country_hidden"> 

<script> 
    $(document).ready(function() { 
    $("#itemType_id").change(function(){ 
     $("#country_hidden").val(("#itemType_id").find(":selected").text()); 
    }); 
    }); 
</script> 

그런 다음, 당신은

+2

지금까지 가장 간단한 방법이라고 생각합니다. – abiieez

1

같은 그것을 시도,

<?php 
    if(isset($_POST['save'])) 
    { 
     //Let $_POST['cscf']['country']= [email protected] 
     // you can explode by @ and get the 0 index name of country 
     $cnt=explode('@',$_POST['cscf']['country']); 
     if(isset($cnt[0]))// check if name exists in email 
     echo ucfirst($cnt[0]);// will echo Malaysia 
    } 
?> 

<form method="post"> 
    <div class="controls"> 
     <select id="itemType_id" name="cscf[country]" class="input-xlarge"> 
      <option value="[email protected]">Malaysia</option> 
      <option value="[email protected]">Indonesia</option> 
     </select> 
     <span class="help-inline"></span> 
    </div> 
    <div class="controls"> 
     <input type="submit" name='save' value="Save"/> 
     <span class="help-inline"></span> 
    </div> 
</form> 
+1

여전히 표시된 텍스트를 가져올 수 없으며 값만 가져올 수 있습니다. 당신은'[email protected] | 말레이시아'와 같은 값으로 텍스트를 집어 넣고'list ($ value, $ text) = explode ('|', $ _POST [ 'cscf'] [ 'country']) ; echo $ text;' – Casey

+0

게시물을'$ cnt = explode ('@', $ _ POST [ 'cscf'] [ 'country']); ' – Casey

+0

@Casey, 감사합니다. 이 답변은 귀하의 제안에 따라 잘 수행 될 것입니다. – abiieez

1

는이

<?php 
    if(isset($_POST['save'])) 
    { 
     $arrayemail = $_POST['cscf']; 
     $mail = $arrayemail['country']; 
     $explode=explode('@',$mail); 
     // print_r($explode); 
     if(isset($explode[0])) 
     echo ucfirst($explode[0]);  

    } 
?> 

<form method="post"> 
    <div class="controls"> 
     <select id="itemType_id" name="cscf[country]" class="input-xlarge"> 
      <option value="[email protected]">Malaysia</option> 
      <option value="[email protected]">Indonesia</option> 
     </select> 
     <span class="help-inline"></span> 
    </div> 
    <div class="controls"> 
     <input type="submit" name='save' value="Save"/> 
     <span class="help-inline"></span> 
    </div> 
</form> 
2
<select name="text selection" onchange="getText(this)"> 
    <option value="">Select text</option> 
    <option value="1">my text 1</option> 
    <option value="2">my text 2</option> 
</select> 

가 먼저 선택의 속성 "onchange를"에 자바 스크립트 함수를 넣어 사용하여 국가의 이름을 얻을 수 있습니다. 그런 다음

<input type="" name="txt_holder" id="txt_holder"> type should be hidden 

는 PHP 변수에 할당 : 그런 다음에서 getElementById

를 사용하여 텍스트 상자에 텍스트를 전송합니다 함수를 만들
<script> 
    function getText(element) { 
    var textHolder = element.options[element.selectedIndex].text 
    document.getElementById("txt_holder").value = textHolder; 
    } 
</script> 

그런 다음 임시 홀더를 만들

$variableName=$_POST['txt_holder']; 
관련 문제