我似乎无法触发jQuery以及针对county_id选择列表的更改事件。我已经尝试了多个代码片段,没有人会触发更改。有什么想法吗?
HTML:
<select id="county_id" name="county_id">
<option value=""></option>
<option value="1">Somewhere</option>
<option value="2">Somewhere else</option>
</select>
<select id="vice_county_id" name="vice_county_id"></select>
JS:
$(function(ready) {
$("#county_id").change(
function() {
$("#vice_county_id").html("");
var co_id = $("#county_id > option[@selected]").attr("value");
if (co_id != 0) {
$.getJSON('./vice_county_web_service.php?co_id=' + co_id,
function(data) {
$.each(data, function() {
$("#vice_county_id").append(
$("<option></option>").val(
this['value']).html(
this['name']));
});
});
}
});
});
答案 0 :(得分:0)
足以获得选择框的价值
var co_id = $("#county_id").val();
您应该使用on()
$('#county_id').on('change', function() {
//....
var co_id = $("#county_id").val();
});
答案 1 :(得分:0)
尝试:
$(document).ready(function(){
$("#county_id").change(function() {
$("#vice_county_id").html("");
var co_id = $(this).val();
if(county_id != 0) {
$.getJSON('./vice_county_web_service.php?co_id=' + co_id,function(data) {
$.each(data, function() {
$("#vice_county_id").append($("<option></option>").val(this['value']).html(this['name']));
});
});
}
});
})
答案 2 :(得分:0)
更改`var co_id = $(“#county_id&gt;选项[@selected]”)。attr(“value”);'到'var co_id = $(“#county_id&gt;选项:已选中”)。attr(“value”);'
答案 3 :(得分:0)
事件正在触发,但这行代码失败:
var co_id = $("#county_id > option[@selected]").attr("value");
...因为那是一个无效的选择器。在浏览器的JavaScript控制台中,您应该看到Syntax error, unrecognized expression: [@selected]
。
jQuery很乐意为您提供价值,只需使用val
:
var co_id = $("#county_id").val();
答案 4 :(得分:0)
您的代码工作正常意味着更改事件正由代码正确处理请参阅此link
$(function(ready){
$("#county_id").change(function() {
$("#vice_county_id").html("test");
var co_id= $("#county_id").attr("value");
alert('Value : ' +co_id);
if(co_id != 0) {
$.getJSON('./vice_county_web_service.php?co_id=' + co_id,function(data) {
$.each(data, function() {
$("#vice_county_id").append($("<option></option>").val(this['value']).html(this['name']));
});
});
}
});
});
仅更改此行,
var co_id = $(“#county_id”)。attr(“value”);
检查您的ajax呼叫是否正常
答案 5 :(得分:-1)
<select id="county_id" name="county_id" onchange="ChangeCountry();">
function ChangeCountry()
{
var _countryId = $('#county_id').val();
}