我有一个文本框othervalue
,根据select
标记的选择启用/禁用。
<select id="capability" name="capability[]" style="background-color: #ffffff;" onchange="selection(this)">
<option value="locMgm">Security</option>
<option value="satelliteComm">Maritime</option>
<option value="othersolution">Other</option>
</select>
值:
<script type="text/javascript">
$(function() {
$("#capability").change(function() {
if ($(this).val() == "othersolution") {
console.log(true);
$("#othervalue").removeAttr("disabled");
}
else {
console.log(false);
$("#othervalue").attr("disabled", "disabled");
}
});
});
</script>
我正在尝试在另一个JavaScript文件中读取othervalue
的值:
var othertb = $("#othervalue").val();
然后检查textbox
是否为空或包含值:
if (othertb == "") {
message = "What solutions are you looking for - no text"
}
else
{
message = "What solutions are you looking for? "+othertb;
}
问题:othertb
没有任何内容(空),if else
也无效。如何阅读if else
无效的价值和原因。
EDIT1:var othertb = $("#othervalue").val();
无法读取输入字段的值。
我现在尝试的只是读取值并在alert(othertb)
中显示它以确保读取值但它是空的。你能帮忙看看这个价值吗?
EDIT2:这就是我在单个文件abc.com
上尝试的内容:
<td style="background-color: #ffffff;color:#3f3f3f;">
<ol start="4" style="width:auto;" class="container_16" >
<li class="grid_8">What solutions are you looking for?</li></ol>
<select id="capability" name="capability[]" style="background-color: #ffffff;" onchange="selection(this)">
<option value="locMgm">Security</option>
<option value="securityTrc">HSE</option>
<option value="ivms">Transport and Logistics</option>
<option value="satelliteComm">Maritime</option>
<option value="all">Defence</option>
<option value="othersolution">Other</option>
</select>
<label style="font-size:16px" for="value">Value:</label>
<input type="text" id="othervalue" disabled="true"/>
<script type="text/javascript">
var othertb = 'test';
$(function() {
$("#capability").change(function() {
if ($(this).val() == "othersolution") {
console.log(true);
$("#othervalue").removeAttr("disabled");
othertb = $('#othervalue').val();
}
else {
console.log(false);
$("#othervalue").attr("disabled", "disabled");
}
});
});
</script>
</td>
<div id="btn-nxt">
<a href= "javascript:void(0)"
onclick = "alert(othertb)> Submit here »</a>
</div>
当文本框为空时,页面显示alert Test
。当文本框不为空时,显示的alert
没有值,我看到空alert
弹出。为什么没有读取价值?
答案 0 :(得分:0)
您的代码中几乎没有问题。我已经更新了你的小提琴,它现在有效。拿一个look at this。
var ov = $("#othervalue");
$("#capability").change(function() {
ov.prop("disabled", true).val("");
if ($(this).val() == "othersolution") {
ov.prop("disabled", false);
}
});
$("#getVal").click(function() {
var cap = 'blah', othertb = ov.val();
var message = "What solutions are you looking for? ";
cap = othertb ? othertb : cap;
message += cap;
$('#console').html("<br/><br/>" + message);
});