0

我在 html 中有一个 Select 的代码,但我想通过 POST 发送文本..而不是值..有什么想法吗?但是我仍然需要这些值。提前致谢!

     <select name="calificaciones" id="calificaciones">
         <option selected value="0"> Elige una opción </option>  
         <option value="1">Demoró en terminar</option> 
         <option value="1">Impuntual</option> 
         <option value="2">Grosero(a) en su trato</option>
         <option value="2">Sucio (a) en su trabajo</option>    
         <option value="4">Dejó inconcluso el trabajo</option> 
         <option value="4">No respetó el precio acordado</option> 
         <option value="8">Fue deshonesto (a)</option> 
         <option value="8">Robó</option> 
     </select>
4

3 回答 3

1

使用 jQuery。看看http://jsfiddle.net/whizzzkid/HsKed/2/

<select name="calificaciones" id="calificaciones">
         <option selected value="0"> Elige una opción </option>  
         <option value="1">Demoró en terminar</option> 
         <option value="1">Impuntual</option> 
         <option value="2">Grosero(a) en su trato</option>
         <option value="2">Sucio (a) en su trabajo</option>    
         <option value="4">Dejó inconcluso el trabajo</option> 
         <option value="4">No respetó el precio acordado</option> 
         <option value="8">Fue deshonesto (a)</option> 
         <option value="8">Robó</option> 
     </select>
<div id="output"></div>

像 .html() 一样简单,请参考小提琴

    /*$('option').each(function(){
    $('#output').append($(this).html() + '<br>');
    console.log($(this).html());
});*/

$('select').bind('change', function(){
    $('#output').html($(this).find(':selected').html() + '<br>');
    console.log($(this).find(':selected').html());
});

因此,您可以在获得其 html 值后通过 jquery 提交表单。也不要忘记检查您的浏览器控制台。

编辑1:甚至更好的代码。

于 2013-07-16T19:09:59.307 回答
0

使用 php 的唯一解决方案是替换 html 值属性。如果您想在该属性上保留数值,唯一的解决方案是使用 jquery 构建一个发布请求,该请求在提交时抓取文本而不是数值。

于 2013-07-16T19:08:02.993 回答
0

我认为你可以使用

var calificaciones = this.options[this.selectedIndex].value  +':' + this.options[this.selectedIndex].innerHTML;

所以,如果你发送然后你可以将它(你已经有了这个想法)分解成一个在服务器端calificaciones使用的数组。:如果你使用POST那么它应该是简单的

$calificaciones = isset($_POST['calificaciones']) ? explode(':', $_POST['calificaciones']) : null;

只是一个演示

于 2013-07-16T19:21:15.000 回答