簡體   English   中英

jQuery-將輸入值傳遞到單選按鈕

[英]Jquery - Passing input values to a radio button

我正在使用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;
    });
});

在以編程方式更改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" /> 

我想有百萬種方法可以做所有事情。 我不知道為什么我沒有想清楚。 :(這就是我最終要做的事情:

$(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;
});

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM