【问题标题】:Filling input field based on dropdown menu selection with Javascript使用Javascript基于下拉菜单选择填充输入字段
【发布时间】:2012-08-14 18:38:18
【问题描述】:

在 MySQL 数据库中,我有一个项目表,其中包含项目的 ID、名称和默认价格。我希望有一个表格,其中包含表中所有项目的下拉菜单,可将输入字段中的价格更改为所选项目的默认价格。我将如何使用 Javascript 来执行此操作?提前致谢。

【问题讨论】:

    标签: javascript mysql select input


    【解决方案1】:

    创建选择下拉菜单,如下所示 其中期权价值 = 商品价格

    <select name="item_list" id="item_list" onchange="update_txt()">
    <option value="">Select item</option>
    <option value="10"> item1</option>
    <option value="20">item2</option>
    </select>
    <input type="text" id="item_price" value="">
    

    JS:

    function update_txt(){
    price = document.getElementById('item_list').selectedIndex.value;
    document.getElementById('item_price').value = price;
    }
    

    【讨论】:

      【解决方案2】:

      您的服务器端语言是什么?

      我会做这样的事情:

      <script language="javascript">
      var items = new Array();
      
      <?
      $res = mysql_query("SELECT id, name, price FROM ITEM_TABLE");
      
      while($item_object = mysql_fetch_object($res)) {
          ?>
              items[<? echo $item_object->id; ?>] = "<? echo $item_object->price; ?>";
              ('#item_drop_down').append('<option value=' + <? echo $item_object->id; ?> + '>' + <? echo $item_object->name; ?> + '</option>');
          <?
      }
      
      ?>
      
      ('#item_drop_down').Change('#item_price_input').text(items[('#item_drop_down').value()]);
      
      </script>
      

      下拉菜单是 item_drop_down,而您想要输入价格的输入是 item_price_input。

      【讨论】:

        【解决方案3】:

        从您的服务器获取您需要显示的所有内容(最好是 JSON)

        并像这样生成select 元素..

        <select id="mySelect">
        <option name="item1ID" defaultPrice="defaultPrice1" >ItemName1</option>
        <option name="item2ID" defaultPrice="defaultPrice2" >ItemName2</option>
        <option name="item3ID" defaultPrice="defaultPrice3" >ItemName3</option>
        <option name="item4ID" defaultPrice="defaultPrice4" >ItemName4</option>
        <option name="item5ID" defaultPrice="defaultPrice5" >ItemName5</option>
        </select>
        

        您可以获得默认价格,例如

        $("#mySelect").on('change',function(){
        alert($(this).attr('defaultPrice');
        });
        

        【讨论】:

          【解决方案4】:

          使用jQuery,您可以执行以下操作:

          $("#DropDownId").change(function ()
          {
              var selectedItem = $(this).val();
          
              if (selectedItem != null && selectedItem != '')
              {
                    $("#InputId").val(selectedItem);
              }      
          });
          

          【讨论】:

            【解决方案5】:

            HTML:

            <select>
                <option>Select an item</option>
                <option data-price="20.00" value="1">Item 1</option>
                <option data-price="15.00" value="2">Item 2</option>
                <option data-price="24.00" value="3">Item 3</option>
            </select>
            
            <input type="text" id="price">
            

            ​ JavaScript(使用 jQuery):

            ​$('select').on('change', function() {
                $("select option:selected").each(function () {
                    $('#price').val('$' + $(this).attr('data-price'));
                });    
            });​​​​​​​​
            

            并查看此 jsFiddle 以获取工作示例:http://jsfiddle.net/chnUn/

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-08-05
              • 1970-01-01
              • 1970-01-01
              • 2012-05-18
              • 1970-01-01
              • 2012-07-24
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多