Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在禁用时选择返回值的元素_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 仅在禁用时选择返回值的元素

Javascript 仅在禁用时选择返回值的元素,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有一个选择框,如下所示: <select id="selectbox" class='info-entry-select' name="country"> <option value="1" selected="selected">One</option> <option value="2">Two</option> <option value="3">Three</option>

我有一个选择框,如下所示:

<select id="selectbox" class='info-entry-select' name="country"> 
    <option value="1" selected="selected">One</option> 
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>
$("#submitbutton").on('click', function() {
    var selectBoxVal = $('#selectbox').val();
    console.log('value is: ' + selectBoxVal);
    return false;
});
到目前为止,我唯一的想法是这可能是一个dom问题?我无知地说,据我所知,我不太了解完整的细节,但我已经看到了一些问题,元素是通过javascript实时更改的,而不是通过以后的javascript调用正确检索到的——然而,如果在加载页面时检索到的元素存在,它们就可以正常工作


我没有将所选属性指定给任何选项,但我不认为这会导致返回未定义的属性。例如,如果禁用“选择”框,则该值将从上述同一查询中正确返回,但它仍然没有手动添加选定的属性。我离题了,但在javascript中创建一系列选项时是否需要添加一个选定的属性?从使用的角度来看,最初显示为选中的选项与我无关,但我很乐意遵循最佳程序。我假设浏览器将显示的选项解释为选中,如果没有这样的标记。

我相信选择的值将是在该选择框中选择了属性的。否则,该输入没有指示值。

我看不出您在成功回调中设置select值的位置,或者设置选项的某个选定属性…为什么期望1、2、3??!!您的$'selectbox'.val;呼叫可能是在附加选项之前调用它。如果ajax请求返回OP中显示的响应,那么$selectbox.val的结果应该是1 check@Zakaria Acharki,那么无论我选择Safari 10.0.03的哪个选项,该示例都会为我返回1。我期望1、2或3,因为它们是我在上面发布的示例中给出的数组的一些示例值。这是如何回答问题/解决问题的?部分问题是:我忽略了什么?我相信这是OP可能忽略的select元素的一个方面。如果默认情况下没有人,select将第一个选项视为选中,因此在本例中,$selectbox.val应该返回1,而不是未定义。我可能错误地认为,如果一个选项没有由javascript添加的select属性,浏览器中“选择”框显示的当前选项本质上就是所选选项。然而,如果我在选择框中添加一个禁用的选项,它将返回该选项的值,但如果它已启用,则不会返回未定义的值。我搞不懂这个。
$("#submitbutton").on('click', function() {
    var selectBoxVal = $('#selectbox').val();
    console.log('value is: ' + selectBoxVal);
    return false;
});