Jquery从表中获取值数据,如果匹配显示文本框

时间:2013-05-22 07:37:02

标签: jquery

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

$(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/

有什么建议吗?

1 个答案:

答案 0 :(得分: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();
        }
    });
});