Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将值从一个选择更改为另一个选择?_Javascript_Jquery - Fatal编程技术网

Javascript 如何将值从一个选择更改为另一个选择?

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> <

我有两个选择,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>
<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();
   });
});

不要忘记触发更改事件。仅更改值不会触发事件!除非您想提交两次表单,否则不必假设元素的形式相同。如果它们的形式不同,你是对的。别忘了触发变更事件。仅更改值不会触发事件!除非您想提交两次表单,否则不必假设元素的形式相同。如果它们的形式不同,你是对的。好吧,我发现了一个错误。当我搬走的时候,一切都变完美了。好吧,我发现了一个错误。当我搬走的时候,一切都变的完美。