Javascript 在单击时将输入值更改为单击按钮的同一行上的值

Javascript change input values onclick to the value on the same row which the button was clicked

本文关键字:单击 一行 输入 Javascript 按钮      更新时间:2023-09-26

假设我在第三行选择浮动汇率并单击等号按钮。所有其他行的其余值将更改其值为浮动速率。我也想将 tis 函数应用于所有其他行。

Javascript:

<script type="text/javascript"> 
   $(document).ready(function() { 
       $('.equal').on('click', function() { 
           $('.dropDown').val('Floating Rate'); 
       }) 
   }); 
</script>

桌子:

<td>
<select class="dropDown" style="width:150px" name="rate_value_1">
<option value="<?php echo $_SESSION['rate_value_1'] ;?>"><?php echo $_SESSION['rate_value_1'] ;?></option>
<option value="Fixed Rate">Fixed Rate</option>
<option value="Floating Rate">Floating Rate</option>
</select>
</td>
<td><input type="button" value="select" class="equal" /></td> 
</tr>
<tr>
<td>
<select class="dropDown" style="width:150px" name="rate_value_2">
<option value="<?php echo $_SESSION['rate_value_2'] ;?>"><?php echo $_SESSION['rate_value_2'] ;?></option>
<option value="Fixed Rate">Fixed Rate</option>
<option value="Floating Rate">Floating Rate</option>
</select>
</td>
<td><input type="button" value="select" class="equal" /></td> 
</tr>
<tr>
<td>
<select class="dropDown" style="width:150px" name="rate_value_3">
<option value="<?php echo $_SESSION['rate_value_3'] ;?>"><?php echo $_SESSION['rate_value_3'] ;?></option>
<option value="Fixed Rate">Fixed Rate</option>
<option value="Floating Rate">Floating Rate</option>
</select>
</td>
<td><input type="button" value="select" class="equal" /></td> 
</tr>
<tr>
<td>
<select class="dropDown" style="width:150px" name="rate_value_4">
<option value="<?php echo $_SESSION['rate_value_4'] ;?>"><?php echo $_SESSION['rate_value_4'] ;?></option>
<option value="Fixed Rate">Fixed Rate</option>
<option value="Floating Rate">Floating Rate</option>
</select>
</td>
<td><input type="button" value="select" class="equal" /></td> 

in jquery,

$('.dropDown').change(function(e) {
//Here you can do you programming
  console.log(e.currentTarget);
});

欲了解更多信息,

http://api.jquery.com/change/

$("#dropDown").change(function () {
          var str = "";
          $("#dropDown option:selected").each(function () {
                str += $(this).text() + " ";
              });
          $("div").text(str);
        })

你有很多问题。首先,你不能多次使用 id="dropDown"。请改用class="dropDown"。其次,一个建议是使用按钮而不是 img。

这是 js:

<script type="text/javascript">
   $(document).ready(function() {
       $('.equal').on('click', function() {
           $('.dropDown').val('Floating Rate');
       })
   });
</script>

和 html 更改:

<select class="dropDown" style="width:150px" name="rate_value_1">
<input type="button" value="select" class="equal" />
好的,

Psinyee,这是你想要的,也解释了。

<script type="text/javascript">
   $(document).ready(function() {
       $('.equal').on('click', function() {
           // find coresponding dropdown
           // with select inside (this is the button ->parent is the td-> previous td)
           var crtDropdown = $('select', $(this).parent().prev('td'));
           if(crtDropdown.prop('selectedIndex') > 0) {
               // something is selected, not first option
               // change values for following selects
               // select ->parent td->parent tr->all next trs->select inside trs->set val to crtDropdown.val();
               crtDropdown.parent().parent().nextAll('tr').find('select').val(crtDropdown.val());
           }
       })
   });
</script>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
    <tr>
        <td>
            <select class="dropDown" style="width:150px" name="rate_value_1">
                <option value="<?php echo $_SESSION['rate_value_1'] ;?>"><?php echo $_SESSION['rate_value_1'] ;?></option>
                <option value="Fixed Rate">Fixed Rate</option>
                <option value="Floating Rate">Floating Rate</option>
            </select>
        </td>
        <td><input type="image" src="equal_button.png" class="equal" /></td> 
    </tr>
    <tr>
        <td>
            <select class="dropDown" style="width:150px" name="rate_value_2">
                <option value="<?php echo $_SESSION['rate_value_2'] ;?>"><?php echo $_SESSION['rate_value_2'] ;?></option>
                <option value="Fixed Rate">Fixed Rate</option>
                <option value="Floating Rate">Floating Rate</option>
            </select>
        </td>
        <td><input type="image" src="equal_button.png" class="equal" /></td> 
    </tr>
    <tr>
        <td>
            <select class="dropDown" style="width:150px" name="rate_value_3">
                <option value="<?php echo $_SESSION['rate_value_3'] ;?>"><?php echo $_SESSION['rate_value_3'] ;?></option>
                <option value="Fixed Rate">Fixed Rate</option>
                <option value="Floating Rate">Floating Rate</option>
            </select>
        </td>
        <td><input type="image" src="equal_button.png" class="equal" /></td> 
    </tr>
    <tr>
        <td>
            <select class="dropDown" style="width:150px" name="rate_value_4">
                <option value="<?php echo $_SESSION['rate_value_4'] ;?>"><?php echo $_SESSION['rate_value_4'] ;?></option>
                <option value="Fixed Rate">Fixed Rate</option>
                <option value="Floating Rate">Floating Rate</option>
            </select>
        </td>
        <td><input type="image" src="equal_button.png" class="equal" /></td> 
    </tr>
</table>
</form>