首页 > 解决方案 > 我如何在 javascript 中创建一个 objectArray 以根据另一个下拉列表获取下拉列表的值

问题描述

**我需要从 php 中获取一个对象数组(var objArray)。用于下拉值选择......因为我已经硬编码了 var objArray,因为键将来自一个下拉列表,而值来自另一个下拉列表..我不想要像这样硬编码..我想要从 php 生成的键和值 **

define('TIER_LIST', json_encode(
     array(
        '1' => 'Tier 1',
        '2' => 'Tier 2',
        '3' => 'Tier 3',
     )
 ));

  define('FEE_LIST', json_encode(
  array(
    '1' => 'Tier 1 -100 Rupees ',
    '2' => 'Tier 2 -200 Rupees',
    '3' => 'Tier 3 -300 Rupees',
  )
  ));

$tierList = json_decode(TIER_LIST,true);
$feeList = json_decode(FEE_LIST,true);
?>

<select class='browser-default selectField' id="TierSelection" onchange="onchangeFeeSelection()">
                        <option value="0">Choose your option</option>
                        <?php foreach($tierList as $value => $text) { ?>
                            <option value="<?php echo $value; ?>"><?php echo $text; ?></option>
                        <?php } ?>
                    </select>

<select class='browser-default selectField' id="FeeSelection">
                        <option value="">Choose your Fee option</option>
                   <?php foreach($feeList as $value => $text) { ?>
 <option value="<?php echo $value; ?>"><?php echo $text; ?></option>
                        <?php } ?>
                    </select>

  <input type = "text" id = "feeValue">   


var objArray = {'1' => 'Tier 1 -100 Rupees ',  
    '2' => 'Tier 2 -200 Rupees',
    '3' => 'Tier 3 -300 Rupees'}


$("#TierSelection").change(function()
{
var ddText = $(this).val();
$.each(objArray,function(key,value)
{
   if(ddText == key)
       $("#FeeSelection").val(value);
});
});




 var objArray = {'1' => 'Tier 1 -100 Rupees ',  
        '2' => 'Tier 2 -200 Rupees',
        '3' => 'Tier 3 -300 Rupees'}     this part i need to fetch key values  values from php

标签: javascriptphpjquery

解决方案


function onchangeFeeSelection(selectedTier)
{

   //define php info and make ajax call
     $.ajax({
         url: "getTierFee.php",
         type: "POST",
         data: { tier: selectedTier },
         cache: false,
         success: function (response) {
             $("#FeeSelection").val(value);
         }
     });
});

在 getTierFee.php 中编写查询以根据所选层级值获取费用数组


推荐阅读