当组合框更改

时间:2016-02-22 06:29:59

标签: javascript text checkbox combobox

我的代码存在问题。我希望这里的任何人都可以帮我修复它。我在从select输入的更改事件中删除文本中的值时遇到问题。

这是我的js代码:



$(document).ready(function() {
  $('.select').change(function() {
    var check = $(this).closest('tr').find("input[type='checkbox']").attr('id');
    $('#' + check + '').prop("checked", false);
    var txt = $(this).closest('tr').find("input[type='text']").attr('id');
    $('#' + txt + '').val("");
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr>
    <th>SELECT TYPE</th>
    <th>TAKE IT</th>
    <th>YOUR CHOOSEN</th>
  </tr>
  <tr>
    <td>
      <select class="select" name="select1">
        <option>--CHOOSE--</option>
        <option value="Cars">Cars</option>
        <option value="Bike">Bike</option>
      </select>
    </td>
    <td>
      <input type="checkbox" name="check1" />
    </td>
    <td>
      <input type="text" name="input1" />
    </td>
  </tr>
  <tr>
    <td>
      <select class="select" name="select2">
        <option>--CHOOSE--</option>
        <option value="Cars">Cars</option>
        <option value="Bike">Bike</option>
      </select>
    </td>
    <td>
      <input type="checkbox" name="check2" />
    </td>
    <td>
      <input type="text" name="input2" />
    </td>
  </tr>
  <tr>
    <td>
      <select class="select" name="select3">
        <option>--CHOOSE--</option>
        <option value="Cars">Cars</option>
        <option value="Bike">Bike</option>
      </select>
    </td>
    <td>
      <input type="checkbox" name="check3" />
    </td>
    <td>
      <input type="text" name="input3" />
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;

注意:我正在从数据库加载数据并将结果显示为文本,并根据客户的选择自动检查复选框。当客户想要编辑数据时,他们将更改选择输入,文本和复选框应该清晰。我只能删除已选中的复选框,但无法清除文本。有人请帮忙。我真的很感激你的帮助。

2 个答案:

答案 0 :(得分:0)

$(document).ready(function(){
$('.select').change(function(){
    $(this).parent().parent().find("input[type='text']").val("");        $(this).parent().parent().find("input[type='checkbox']").prop("checked",false);
});});

请试试这位朋友,我会工作正常

答案 1 :(得分:0)

我认为你在解决脚本的工作方式时遇到了问题。

 var check = $(this).closest('tr').find("input[type='checkbox']").attr('id');

 var txt = $(this).closest('tr').find("input[type='text']").attr('id');

这两个代码会查找idinput checkbox的{​​{1}}。

我看到没有为这两个元素定义input text。所以这些变量中没有任何内容(id),因此代码不起作用。

一个解决方案是:

您可以为这些字段添加ID。像

undefined

另一个解决方案:

您可以像这样修改脚本。

<tr>
  <td><select class="select" name="select1">
  <option>--CHOOSE--</option><option value="Cars">Cars</option><option value="Bike">Bike</option>
  </select> </td>
  <td><input type="checkbox" name="check1" id="check1" /></td>
  <td><input type="text" name="input1" id="input1" /></td>

</tr>
<tr>
  <td>
  <select class="select" name="select2"><option>--CHOOSE--</option><option value="Cars">Cars</option><option value="Bike">Bike</option>
  </select></td>
  <td><input type="checkbox" name="check2" id="check2" /></td>
  <td><input type="text" name="input2" id="input2" /></td>