0

我有这段代码,我目前正在获取“mytablevalues”,但我想知道是否可以获得“myvalues”,我的意思是只有选择的文本。

 <form id="aform" method="post">
 <select id="menucompare" name ="menucompare" size="1">
<option value="nothing" <?php if ($menucompare == "nothing") { echo " selected='selected'"; } ?>>Select one</option>

<option value="mytablevalue1" <?php   if ($menucompare == "mytablevalue1") { echo " selected='selected'"; } ?> >myvalue1</option>
<option value="mytablevalue2" <?php   if ($menucompare == "mytablevalue2") { echo " selected='selected'"; } ?> >myvalue2</option>
<option value="mytablevalue3" <?php   if ($menucompare == "mytablevalue3") { echo " selected='selected'"; } ?> >myvalue3</option>
<option value="mytablevalue4" <?php if ($menucompare == "mytablevalue4") { echo " selected='selected'"; } ?> >myvalue4</option>


</select>
<input type="hidden" name="hidevalue" value="<?php echo $menucompare ;  ?>" />
<noscript><input type="submit" value="Submit"></noscript>
</form>

<script type="text/javascript">

   $(document).ready(function(){
    $("select").change(function() { 
         displayVals(); 
   });
   displayVals();
 });

function displayVals() {
var singleValues = $("#menucompare").val();
$("#hiddenselect").val(singleValues);
$("p").html("Procent of :    " + singleValues);
}

而且我在默认值方面也有问题(什么都没有)。任何建议!

编辑 。我让它像那样工作

   <script type="text/javascript">

  $(document).ready(function(){
   $("select").change(function() { 
         displayVals(); 
   });
   displayVals();
   });

  function displayVals() {
var singleValues = $("select option:selected").text();
$("#hiddenselect").val(singleValues);
$("p").html("Procent of : &nbsp &nbsp" + singleValues);
 }

</script>
4

3 回答 3

2

用于.text()获取选项的文本值:http: //api.jquery.com/text/

要获取所选选项的文本,您可以使用:

$('#menucompare option:selected').text()

http://api.jquery.com/selected-selector/

例子

<script type="text/javascript">
 $(document).ready(function() {

   $("#menucompare").change(function() { 
     $("p").html("Procent of : " + $("option:selected", this).text());  
     $('input[name="hidevalue"]').val($("option:selected", this).text());  
   });

 });
</script>

$('#hiddenSelect')在您发布的示例中似乎不存在,我假设您正在尝试设置inputwith name的值hidevalue,我已在上面的示例中包含此更改。

另一件事,<p>您的示例中没有(除非您将其省略?)。我建议给出<p>anid并选择它来更改它,否则<p>页面上每个单曲的值都会被更改。

于 2012-04-18T20:21:58.060 回答
1

您也可以简单地使用 jQuery 来执行此操作,使用它(对于上面的示例)

$("#menucompare option:selected").text();
于 2012-04-18T20:25:53.113 回答
0

这将为您提供所选选项的文本:

$('#menucompare').children("option[value='" + $('#menucompare').val() + "']").text();
于 2012-04-18T20:22:55.387 回答