2015-02-02 1 views
1

У меня есть эти строки кода.Получение отображения HTML, а не значения в PHP

<select id="select12" name="package"> 
    <option value="0.00">(Select a Package)</option> 
    <option value="149.00">PACKAGE A</option> 
    <option value="223.00">PACKAGE B</option> 
    <option value="273.00">PACKAGE C</option> 
</select> 

Я хочу получить «Пакет A/B/C» и его стоимость. Например, если пользователь выбирает пакет A. Выходной файл - пакет A - 149,00 долларов США. Как я это сделаю? Это код, который я до сих пор добился, чтобы получить HTML, но это не удача.

$package = $_POST['package']; 

$email_message = "Form details below.\n\n"; 

    function clean_string($string) { 

     $bad = array("content-type","bcc:","to:","cc:","href"); 

     return str_replace($bad,"",$string); 

    } 
$email_message .= "Selected Package: ".clean_string($package)."\n"; 
+0

Есть Распознать [это] (http://stackoverflow.com/a/11926913/2518525) – Darren

+0

вам нужно JS сделать это – Mayur

ответ

0

Самая простая вещь, что вы можете сделать, это:

<select id="select12" name="package"> 
    <option value="0.00">(Select a Package)</option> 
    <option value="PACKAGE A - $149.00">PACKAGE A</option> 
    <option value="PACKAGE B - $223.00">PACKAGE B</option> 
    <option value="PACKAGE C - $273.00">PACKAGE C</option> 
</select> 

UPDATE:

Для целого значения вы можете использовать:

preg_match('!\d.+!', $package, $matches); 
print_r($matches[0]); 
+0

Я использовал численные значения для добавления в другие части кода, поэтому я бы не хотел этого делать ... – Jennifer

+0

@ Jennifer check update – madforstrength

+0

Почему бы вам просто не взорваться («-», $ package); '... – Darren

0

Как насчет просто изменить Ваша форма:

<select id="select12" name="package"> 
    <option value="0.00">(Select a Package)</option> 
    <option value="PACKAGE A - $149.00">PACKAGE A</option> 
    <option value="PACKAGE B - $223.00">PACKAGE B</option> 
    <option value="PACKAGE C - $273.00">PACKAGE C</option> 
</select> 
+1

Вы просто скопировали другой ответ или что? – Darren

+0

Почему я должен это делать. Мы просто отправляем его в одно и то же время. Посмотрите, насколько близко время. – yogipriyo

1

Попробуйте это:

$_POST['package'] даст вам значение (например, 149, 223 и т. Д.) И добавить скрытое текстовое поле и назначить выделенный текст (например, пакет А и т. Д.), Выполнив: $("#select12 option:selected").text(); и отправив эти данные.

См., Если это помогает.

+0

Посетите: http://learn.jquery.com/using-jquery-core/faq/how-do-i-get-the-text-value-of-a-selected-option/ –

0
<script src="jquery.js" type="text/javascript"></script> 
<script> 
$(document).ready(function() { 
     $('#select12').change(function(){ 
      var this_val=$(this).val(); 
      if(this_val!='0.00') 
      { 
       var this_html=$("#select12 option:selected").text(); 
       $('#result').html(this_html+' - $'+this_val); 
      } 
     }); 
    }); 
</script> 


<select id="select12" name="package"> 
    <option value="0.00">(Select a Package)</option> 
    <option value="149.00">PACKAGE A</option> 
    <option value="223.00">PACKAGE B</option> 
    <option value="273.00">PACKAGE C</option> 
</select> 

<div id="result"></div>