显示输入选择字段中的文本


Display Text from Input-Select field

我有一个保存到PHP的表单,其中包括以下选择输入:

<label for="category">
    <span>Event Type :</span>
    <select name="category" id="category">
        <option value="1"> Meeting</option>
        <option value="2"> Clean Up</option>
        <option value="3"> High Priority</option>
        <option value="4"> Special Projects</option>
    </select>
</label>

保存的然后显示在另一个页面上,但我希望它显示文本值,而不是option value,即"会议",而不是"1"

从数据库获取数据的脚本是:

// Get markers from XML - (event_data.php)
    $.get("./php/event_data.php", function (data) {
        $(data).find("marker").each(function () {
              var name = $(this).attr('name');
              var description = '<p>'+ $(this).attr('description') +'</p>';
              var type = $(this).attr('category');
              var edate = $(this).attr('edate');
              var point = new google.maps.LatLng(parseFloat($(this).attr('lat')),parseFloat($(this).attr('lon')));
              create_marker(point, name, description, edate, type, false, false, false, '');
        });
    });

并显示如下:

var eventContent = $('<div class="event-details">' +
        '<h3>Event Details</h3><table class="table">' +
        '<tr><th>Event Name: </th><td>' + eName + '</td></tr>' +
        '<tr><th>Event Date: </th><td>' + eDate + '</td></tr>' +
        '<tr><th>Event Type: </th><td>' + type + '</td></tr>' +
        '<tr><th>Event Details: </th><td>' + eForm + '</td></tr>' +
        '</table></div>'
        );

最简单的解决方案是制作一个php数组-数组的键可以是选项值(例如1、2、3…),值可以是您想要显示的文本。

$categories = [1=>"Meeting", 2=>"Clean up"];
echo ($categories[$_GET['category']]);

根据具体情况,将您的类别放入数据库会更好。要作为类别id的选项的值。使用这种方法,当您需要显示类别的名称时,您可以通过id从数据库中获取该名称。注意:如果类别和数据库中的其他内容之间存在关系,则最好创建一对多或多对多数据库关系。然后,您可以使用SQLJOIN语法从不同的表中选择组合行。