[英]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.