0

我有一个 JS 代码,如果值第一个文本框匹配,该函数将显示文本框。像这样 :

$(window).load(function(){
var myString = "<?php echo $num; ?>";
$('#secondinput').hide();

$("#firstinput").keyup(function () {
var value = $(this).val();
    if($(this).val().match(myString)) {
        $('#secondinput').show();
    } else {
        $('#secondinput').hide();
        $('#secondinput input[type="text"]').val("");
    }
});

});

现在我将它与数据库集成,因此 var myString 必须基于表。如果表上的数据匹配,则显示文本框。如果没有,请不要显示。

像这样的PHP:

<?php
include ("includes/_db_.php");
$query = mysql_query("SELECT * FROM t_test");
while ($data = mysql_fetch_array($query))
{
    $num = $data['status'];
}
?>

我已经尝试了该代码,但没有效果。未与数据库集成的演示:http: //jsfiddle.net/Ltapp/369/

有什么建议吗?

4

1 回答 1

2

我认为这会奏效。我不知道我是否忘记了什么,但似乎这应该有效:

//PHP

<?php
    include ("includes/_db_.php");
    $num = array();
    $query = mysql_query("SELECT * FROM t_test");
    while ($data = mysql_fetch_array($query)) {
        array_push($num, $data['status']);
    }
?>

//JAVASCRIPT

$(window).load(function(){
    var myString = <?php echo json_encode($num); ?>;
    // or
    var myString = new Array(<?php echo implode(',', $num); ?>);

    $('#secondinput').hide();

    $("#firstinput").keyup(function () {
        var value = $(this).val();
        if ($.inArray(value, myString) === -1) {
            $('#secondinput').hide();
            $('#secondinput input[type="text"]').val("");
        } else {
            $('#secondinput').show();
        }
    });
});
于 2013-05-22T07:51:33.460 回答