javascript - 使用 jQuery 从 PHP 关联数组中获取值

标签 javascript php jquery

我在 PHP 中从数组中生成了一个 html 选择元素,如下所示

$countries = array(
    array('iso' => 'AF', 'name' => 'Afghanistan',  'key' => 'Red'),
    array('iso' => 'AX', 'name' => 'Åland Islands','key' => 'Yellow'),
    array('iso' => 'AL', 'name' => 'Albania',      'key' => 'Blue')
);

$select = '<select id="country_select" onchange="countryfind()">';
foreach($countries as $country) {
    $select .= '<option value="'.$country['key'].'">'.$country['name'].'</option>';
}
$select = '</select>';

return $select;

选择框使用一个小的 javascript 函数来显示所选国家的国家键:

function countryfind(){
    jQuery('#countrykey').text(
         jQuery('#country_select option:selected').val()
)};

我现在想使用该键与另一个包含国家信息的 PHP 数组交互,并在 #countrykey div 中显示该国家而不是所选值:

$si_federations = array(
    'Red'   => array('name'=>'A Red Country', 'url'=>'http://www.redcountry.com'),
    'Blue'   => array('name'=>'A Blue Country', 'url'=>'http://www.soroptimisteurope.org'),
);

这是可以轻松实现的事情,还是我的方法完全错误?

最佳答案

您走在正确的轨道上。所以,这里是如何让它做你想做的事

在您的 <script> 内阻止我们想以 JSON 格式输出该数组

var federations = <?php echo json_encode($si_federations); ?>;

现在,当你运行 countryfind我们想从该对象中提取值并显示它。所以让我们修改你的功能

function countryfind(){
    var fed;
    var selected = jQuery('#country_select option:selected').val();
    if(federations[selected] !== undefined) fed = federations[selected];
    else fed = {"name":"Default Name", "url":""}; //placeholders if it's not defined
    jQuery('#countrykey').text(
         selected + ' - ' + fed.name + ' ' + fed.url;
)};

我不知道您希望它如何显示(为简单起见,我只是将其转储为文本),但这会为您提供所需的数据,因此您可以从那里获取它

关于javascript - 使用 jQuery 从 PHP 关联数组中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40742472/

相关文章:

javascript - 映射对象数组

javascript - 什么时候嵌入合适?

javascript - 使用 jsPDF 和邮件附件生成 PDF

java - ChartJS "Unable to get property ' getTime' 未定义或空引用”

javascript - 根据值表单选择禁用和启用表单文本输入..?

javascript - 如何让 EaselJS 的 MouseEvent 正常工作?它似乎可以工作,但它不断返回单个位图 ID,而不是正确的

javascript - 用 javascript 对象替换字符串值

通过 AJAX 调用的 PHP header() 无法正常工作

php - Laravel 异常处理程序还会记录请求

javascript - 如何使用 JavaScript 计算鼠标的特定移动