Jquery - 将输入值传递给单选按钮

时间:2015-09-16 15:14:56

标签: javascript php jquery mysql

我正在使用MySQL和ajax从表中提取特定信息,然后我将其中一个值传递给单选按钮。

用户输入他们的ID号,它会自动从MySQL表中添加全名,电子邮件地址和管理员。

然后我将管理器值传递给单选按钮,但除非我实际单击管理器输入字段,否则它不起作用。

我尝试过,模糊,更改,加密,关注/输出,但在我实际点击输入字段之前,它仍未传递值。

请注意 - 如果我手动将值添加到经理的字段中,它可以正常工作。

有什么想法吗?

<input type="text" name="id" id="id" value="" >
<input type="text" class="hidden" name="name" id="name" value="" >
<input type="text" class="hidden" name="email" id="email" value="" >
<input type="text" class="hidden" name="manager" id="manager" value="" >

<input type="radio" name="defaultmanager" id="defaultmanager" value="">
<label for="defaultmanager" id="defmanager" >Default manager:</label>

<input type="radio" name="reason" id="otherreason" value="">Other 
<input type="text" name="otherreason" />

<script>
$('#manager').bind("change paste keyup", function() {
var val = $(this).val();
$('#defmanager').text('Default Manager:' + val);
});
</script>

同样它工作正常但我必须实际点击输入字段才能将值传递给单选按钮。

以下是自动添加姓名,电子邮件和经理的代码:

$(function() {
    $( "#id" ).on( 'blur' , function() {
        $('#table1 tr').removeClass("hidden");
        // getting the value that user typed
        searchString=$(this).val();

        // forming the queryString
        var data = 'telefoon='+searchString;

        // if searchString is not empty
        if(searchString) {
            // ajax call

            $.ajax({
                type: "POST",
                url: "query2.php",
                data: data,

                success: function(html){ // this happens after we get results
                    result = String(html).split("|");

                    $("#name").val(result[0]);
                    $("#email").val(result[1]);
                    $("#manager").val(result[4]);
                }
            });    
        }
        return false;
    });
});

2 个答案:

答案 0 :(得分:0)

如果您以编程方式更改manager字段的值,则需要触发change事件:

$("#manager").val(result[4]).change();

这里有一个完整的,有效的例子:

$('#manager').bind("change paste keyup", function() {
    var val = $(this).val();
    $('#defmanager').text('Default Manager:' + val);
});

//Set value of the manager field from the database here
$('#manager').val('Bob Marley').change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="id" id="id" value="" >
<input type="text" name="name" id="name" value="" >
<input type="text" name="email" id="email" value="" >
<input type="text" name="manager" id="manager" value="" >

<input type="radio" name="defaultmanager" id="defaultmanager" value="">
<label for="defaultmanager" id="defmanager" >Default manager:</label>

<input type="radio" name="reason" id="otherreason" value="">Other 
<input type="text" name="otherreason" />

答案 1 :(得分:0)

我想有一百万种方法可以做任何事情。我不知道为什么我不清楚。 :(这里是我最终做的事情:

$(function() {
$( "#id" ).on( 'blur' , function() {
    $('#table1 tr').removeClass("hidden");
    // getting the value that user typed
    searchString=$(this).val();

    // forming the queryString
    var data = 'telefoon='+searchString;

    // if searchString is not empty
    if(searchString) {
        // ajax call

        $.ajax({
            type: "POST",
            url: "query2.php",
            data: data,

            success: function(html){ // this happens after we get results
                result = String(html).split("|");

                $("#name").val(result[0]);
                $("#email").val(result[1]);
                $("#manager").val(result[4]);
                $("#defmanager").val(result[4]);
            }
        });    
    }
    return false;
});

});