Javascript 如何将值从一个选择更改为另一个选择?
我有两个选择,html代码中有几个选项:Javascript 如何将值从一个选择更改为另一个选择?,javascript,jquery,Javascript,Jquery,我有两个选择,html代码中有几个选项: <select name="t" id="t"> <option value="0">Overall</option> <option value="1">t_name</option></select> <select name="m" id="m"> <option value="0">back to Overall</option> <
<select name="t" id="t">
<option value="0">Overall</option>
<option value="1">t_name</option></select>
<select name="m" id="m">
<option value="0">back to Overall</option>
<option value="1">m_some</option></select>
我的问题是,只有当用户在第二个名为m的选择中选择值0时,如何强制将值从第一个名为t的选择更改为0?并在最后提交表格
-编辑-
现在由于建议,我试着这样做:
<script>
$(function(){
$('#m, #t').change(function(){
if($('#m').val() == '0')
$('#t').val('0').change();
$('form#myform').submit();
});
});
</script>
当我每次更改Select m或t时,该脚本都会提交表单,但当我将Select m更改为值0时,脚本仅以正确的方式将t更改为0,而不提交。为什么?
$('select[name="m"]').change(function() {
if($(this).val() == '0') {
$('select[name="t"]').val('0');
}
});
除此之外,您应该使用jQuery来设置onchange事件,而不是通过内联JS:
$('select[name="t"], select[name="m"]').change(function() {
$(this).closest('form').submit();
// if you do not need any jquery submit events,
// you can also use this.form.submit();
});
请参见演示
除此之外,您应该使用jQuery来设置onchange事件,而不是通过内联JS:
$('select[name="t"], select[name="m"]').change(function() {
$(this).closest('form').submit();
// if you do not need any jquery submit events,
// you can also use this.form.submit();
});
请参阅演示。您应该使用如下ID,因为它们更易于DOM搜索
<select name="t" id="t" onchange="this.form.submit();">
<option value="0">Overall</option>
<option value="1">t_name</option></select>
<select name="m" id="m" onchange="this.form.submit();">
<option value="0">back to Overall</option>
<option value="1">m_some</option></select>
<script>
$(function(){
$('#m, #t').change(function(){
//don't forget to trigger the change event
if($('#m').val() == '0')
$('#t').val('0').change();
$('form#form_id').submit();
});
});
</script>
您应该使用如下ID,因为它们更易于DOM搜索
<select name="t" id="t" onchange="this.form.submit();">
<option value="0">Overall</option>
<option value="1">t_name</option></select>
<select name="m" id="m" onchange="this.form.submit();">
<option value="0">back to Overall</option>
<option value="1">m_some</option></select>
<script>
$(function(){
$('#m, #t').change(function(){
//don't forget to trigger the change event
if($('#m').val() == '0')
$('#t').val('0').change();
$('form#form_id').submit();
});
});
</script>
你可以这样做:
$(function(){
$('[name="t"],[name="m"]').change(function(){
if($(this).attr('name')=='m') && $(this).val()=='0'){
$('[name="t"]').val('0');
}
$(this).closest('form').submit();
});
});
你可以这样做:
$(function(){
$('[name="t"],[name="m"]').change(function(){
if($(this).attr('name')=='m') && $(this).val()=='0'){
$('[name="t"]').val('0');
}
$(this).closest('form').submit();
});
});
不要忘记触发更改事件。仅更改值不会触发事件!除非您想提交两次表单,否则不必假设元素的形式相同。如果它们的形式不同,你是对的。别忘了触发变更事件。仅更改值不会触发事件!除非您想提交两次表单,否则不必假设元素的形式相同。如果它们的形式不同,你是对的。好吧,我发现了一个错误。当我搬走的时候,一切都变完美了。好吧,我发现了一个错误。当我搬走的时候,一切都变的完美。