【问题标题】:How can I check when a user changes the value of a select drop down list?如何检查用户何时更改选择下拉列表的值?
【发布时间】:2011-12-29 14:34:13
【问题描述】:

我使用以下代码检查输入字段值的变化。在这种情况下,字段以 ID“Status_”和“Position_”开头

$(document).ready(function () {
    $("input[id^='Status_'], input[id^='Position_']").change(function (e) {
        var type = $(this).attr('id').split('_')[0];
        update($(this), type);
    }); 
});

现在我已经从作为输入字段的状态更改为作为可选下拉列表。

<select id="Status_0" name="AdminSummaries[0].Status"><option value="1">Released</option>
<option value="2">Review</option>
<option value="3">New</option>
</select>;

现在我可以做到这一点,以便在下拉列表中选择新值时调用 update(..) 函数,就像它是输入字段时一样?

【问题讨论】:

  • 你试过了吗?它应该适合你。
  • 如果不行,问题出在update()方法上,请贴出代码,我们看看。

标签: jquery


【解决方案1】:

你的逻辑很好。但是您可能必须将input[id^='Status_'] 更改为select[id^='Status_']

【讨论】:

  • :input,它是任何类型输入(输入、文本区域、选择...)的选择器
【解决方案2】:

input 更改为select

$(document).ready(function () {
    $("select[id^='Status_'], input[id^='Position_']").on('change',function (e) {
        var type = $(this).attr('id').split('_')[0];
        update($(this), type);
    }); 
});

【讨论】:

    【解决方案3】:

    您应该使用 jQuery 中可用的 change event 并将其绑定到下拉列表。所以您发布的代码应该仍然有效。

    编辑: 正如 wescrow 所指出的,问题不在于使用 change 事件,而在于使用的选择器。

    【讨论】:

      猜你喜欢
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多