[英]trying to select value of a select box with jquery
我看了這個例子,但是無法實現。 我想知道我是否還想念其他東西。
注意: response.user_data['admin']
不為null。 我檢查了。
有任何想法嗎?
謝謝
沒有工作線
$('#select_administrator option[value="'+response.user_data['admin']+'"]');
$('#select_administrator option:eq('+response.user_data['admin']+')').attr('selected', 'selected');
$('#select_administrator option:eq('+response.user_data['admin']+')').prop('selected', true);
的HTML
<select id="select_administrator" name="select_administrator">
<option value="NO" <?php echo ($administrator == 'NO') ? 'selected="selected"' : null; ?>>NO</option>
<option value="YES" <?php echo ($administrator == 'YES') ? 'selected="selected"' : null; ?>>YES</option>
</select>
JQUERY
$(document).ready(function()
{
$("#select_user").change(function(event)
{
event.preventDefault();
var selected_user = null;
selected_user = $(this).val();
$.ajax({
type : "POST",
url : 'mypage.php',
data : {select_user:selected_user},
dataType : "json",
success : function(response)
{
if(response.status == "success")
{
$("#form_errors_jquery").hide();
$("#text_username").val(response.user_data['username']);
//response.user_data['admin'];
//Should select admin combo here
//$('#select_administrator option[value="'+response.user_data['admin']+'"]');
//$('#select_administrator option:eq('+response.user_data['admin']+')').attr('selected', 'selected');
//$('#select_administrator option:eq('+response.user_data['admin']+')').prop('selected', true);
}
else
{
$("#form_errors_jquery").html(response.error).fadeIn(1000);
}
},
error : function(response)
{
$("#form_errors_jquery").html("A network error occured").fadeIn(1000);
}
return false;
});
});
好吧,對於初學者,您的jquery會在更改$("#select_user").change(function(event)
時選擇它,但是您的html是<select id="select_administrator" name="select_administrator">
因此您可能希望選擇請更正select元素的ID,然后重試。
此外,這兩者都可以與HTML一起使用。 我的猜測是您的response.user_data ['admin']帶有空格,或者格式未正確返回。
$(document).ready(function() {
$('#select_administrator option[value="NO"]').prop('selected', true);
});
$(document).ready(function() {
$('#select_administrator option[value="NO"]').attr('selected','selected');
});
編輯:我做了一個jsfiddle ,將上面的代碼與您要嘗試的內容進行了歸納 ,這兩個選項根本不起作用:
$('#select_administrator option:eq('+response.user_data['admin']+')').attr('selected', 'selected');
$('#select_administrator option:eq('+response.user_data['admin']+')').prop('selected', true);
但是如果添加attr('selected','selected'); 首先嘗試使其看起來像這樣:
$('#select_administrator option[value="'+response.user_data['admin']+'"]').attr('selected', 'selected');
它工作正常。 試試看,讓我知道嗎?
為了解決這個問題,我最終改用了這段代碼,但是為什么上面的原始代碼不起作用?
if (response.user_data['admin'] == 'YES')
{
$('#select_administrator').val('YES');
}
else
{
$('#select_administrator').val('NO');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.