【发布时间】:2016-11-29 16:40:08
【问题描述】:
我有一个带有以下 HTML 下拉选择菜单的表单:
<div class="input-field col s4">
<select id="disposition" required>
<option value="No_Sale" id="noSale">No Sale</option>
<option value="Sale" id="yeahSale">Sale</option>
<option value="Unreachable" id="noContact">Unreachable</option>
<option value="Call_Back" id="callBack">Call Back</option>
</select>
<label>Disposition</label>
</div>
上面的sn-p for dispositions应该影响其他表单元素是否被禁用。但是,我似乎无法获得改变用户输入的值。
这里是带有 jQuery 的 javascript:
$(document).on('change', 'select', function(){
console.log(disposition);
console.log($("#yeahSale").selected == true);
if ($("#yeahSale").selected == true) {
$("#fund").removeAttr('disabled');
}
});
对于$("#disposition").val() 和$("#yeahSale").selected,console.log 返回
“No_Sale”
当我点击表单元素并选择时为 false
“销售。”
我尝试的第一件事是:
if (disposition == "Sale")
我也试过了:
var disposition = $("#disposition").find(":selected").text();
我已经在堆栈交换和谷歌上搜索了将近一个小时的答案,但到目前为止我还没有成功。如果我完全错过了一个已经解决的现存问题,我深表歉意。
感谢您的帮助!
【问题讨论】:
-
if (dispositon == "Sale")... -
对不起,@Banzay。我忘了包括我已经尝试过了。我已经相应地更新了帖子。谢谢!
-
我认为您过于沉迷于提供
ids 选项并与它们一起检查selected。通常使用select,您只需担心所选option的值 和/或options的索引 并从那里做出决定。 -
@wiljago。您已将函数绑定到整个
$(document)的事件。您只需要在$("#disposition")上捕获事件。我的意思是:$("#disposition").on('change',...
标签: javascript jquery html dom