0

我正在尝试从段落的下拉列表中显示所选城市的全名。但是 jQuery ajax 调用没有给出任何输出。

索引.html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Learn Javascript</title>
<script src="jquery-1.10.2.min.js"></script>
</head>
<body>
<select id="states">
<option> LDH </option>
<option> JLD </option>
<option> CHD </option>
</select>
<br/>
<p>The Full name is: <span id="fullname"></span></p>
<script>
$(document).ready(function() {
    $('#states').change(function() { 
    selectedState = $('#states option:selected').text();
    $.get('learn.php?state='+selectedState, function(data) {
        $('#fullname').html(data);      
    });
        });
});
</script>
</body>
</html>

学习.php

<?php 

 switch ($_GET['state']) {
     case 'LDH' : 
     echo 'Ludhiana';
     break;
     case 'JLD' :
     echo 'Jalandhar';
     break;
     case 'CHD' :
     echo 'Chandigarh';
     break;  
 }
?> 

当下拉状态改变时,这应该通过从 php 文件中检索数据来打印所选城市的全名。

4

3 回答 3

1

问题在于选项标签内的空格。

您可以使用以下 2 种方法方法 1 中的一种方法获得结果



<select id="states">
<option value="LDH"> LDH </option>
<option value="JLD"> JLD </option>
<option value="CHD"> CHD </option>
</select>

并在 jquery 中更改从

selectedState = $('#states option:selected').text();

selectedState = $('#states option:selected').val();



方法二

在 PHP 文件中使用 trim() 方法

switch (trim($_GET['state']))

睾丸 小提琴

于 2013-10-30T08:00:35.247 回答
1

您的文本中有空格,即选项文本中。

所以总是使用值属性。

将您的代码更改为

    <select id="states">
        <option>LDH</option>
        <option>JLD</option>
        <option>CHD</option>
    </select>
于 2013-10-30T07:41:35.547 回答
1

您能否提醒格式化的 url 或登录到控制台$.get() .fail()

$('#states').change(function() { 
    selectedState = $(this).val();
    url = 'learn.php?state=' + selectedState;
    alert(url);
    $.get(url, function(data) {

        $('#fullname').text(data);      
    })
    .fail(function(xhr, status, error) {
        console.log(xhr.status);
        console.log(error);
    });
});
于 2013-10-30T07:20:19.507 回答