使用Javascript或Jquery填充隐藏字段值

时间:2016-07-03 23:40:08

标签: javascript jquery

目前使用脚本填充选择选项

中的隐藏字段

基本上,用户选择会员级别,并将价格(来自Mysql)应用于隐藏字段(PaymentAmount)。

当前脚本似乎是依赖于浏览器的命中和遗漏(即工作)。我可能需要多次刷新页面才能工作。我已经将脚本放在页面的不同位置 - 页眉,页脚,现在直接在SELECT字段下。

<input name="PaymentAmount" id="PaymentAmount" type="hidden" value="" />

<select id="MembershipType" required aria-required="true" name="MembershipType" class="form-control">
<option selected="selected">--Select--</option>
<option value="Level-One">Level One</option>
<option value="Level-Two">Level Two</option>
<option value="level-Three">Level Three</option>
</select>


<script type="text/javascript">
 $(document).ready(function () {
     $('#MembershipType').change(function() {
        var price = $('#MembershipType').val();
         switch(price)
         {
         case 'Level-One': 
         $('[name=PaymentAmount]').val(<?php echo $row['Level-One']; ?>.toFixed(2));
         break;
         case 'Level-Two': 
         $('[name=PaymentAmount]').val(<?php echo $row['Level-Two']; ?>.toFixed(2));
         break;
         case 'Level-Three': 
         $('[name=PaymentAmount]').val(<?php echo $row['Level-Three']; ?>.toFixed(2));
         break;
         }
      });
    });
</script>

建议生成一个更有效和可靠的脚本来实现这一点(使用jquery或javascript)?

3 个答案:

答案 0 :(得分:0)

感谢Toji

根据您的回答,已经开始

<script>
    $(document).ready(function(){
    $("#MembershipType").click(function(){
    $("#PaymentAmount").val("<?php echo $row_Pricing['Level-One']; ?>");
             });
    });
</script>

现在专注于使用以下示例并调整

<script>
  $( "select#MembershipType" ).change(function() {
     var str = "";
     $( "select option:selected" ).each(function() {
     str += $( this ).text() + " ";
    });
  $( "div" ).text( str );
    })
    .trigger( "change" );
</script>

但是我没有足够的技巧来进一步采取这一点..

答案 1 :(得分:0)

坚持......向下

<script>
    $(document).ready( function ()
        {
        $('#MembershipType').change(function()
        {
        var option = $(this).find('option:selected').val();

        switch(option)
            {
            case 'Level-One': 
            $('[name=PaymentAmount]').val(<?php echo $row['Level-One']; ?>.toFixed(2));
            break;
            case 'Level-Two': 
            $('[name=PaymentAmount]').val(<?php echo $row['Level-Two']; ?>.toFixed(2));
            break;
            case 'Level-Three': 
            $('[name=PaymentAmount]').val(<?php echo $row['Level-Three']; ?>.toFixed(2));
            break;
            }
        });
});
</script>

似乎工作!!

答案 2 :(得分:-1)

为什么你不能将Id分配给隐藏字段然后使用jquery选择器