我一直在研究,现在需要一些投入。有人会告诉我调整是否会使此代码显示警报中的下拉值?当文本框值正确显示时,它当前显示为“未定义”。感谢。
file1.ftl
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<button id="displayFancyboxButton">Display Fancybox</button>
<#include "file2.ftl">
</body>
</html>
file2.ftl
<div id="theContents" style="display:none">
<input id="textboxId" type="text" />
<select id="dropdownId">
<option value="Select">Select</option>
<option value="first">one</option>
<option value="second">two</option>
<option value="third">three</option>
</select>
<button id="displayButtonId" id="save">Display</button>
</div>
<script type="text/javascript">
$('#displayFancyboxButton').click(function(){
$.fancybox.open({
content: $('#theContents').html()
});
return false;
});
$("body").on("click","button[id=displayButtonId]",function(){
var textboxVal = $('.fancybox-inner input[id="textboxId"]').val();
var dropdownVal = $('.fancybox-inner input[id="dropdownId"]').val();
alert('textboxVal=' + textboxVal + ", dropdownVal=" + dropdownVal);
});
</script>
答案 0 :(得分:1)
我将选择器更改为:
var dropdownVal = $('#dropdownId').val();
你所采取的路线最终需要这样:
var dropdownVal = $('.fancybox-inner select[id="dropdownId"]').val();
选择器需要选择 [id =“dropdownId”]而不输入[id =“dropdownId”],因为您使用的是select标记而不是输入标记。
然而,这种方法有点复杂。因为dropDownId是页面上的唯一ID,所以您的选择器只需要引用它而不是fancybox-inner或select / input。
希望有所帮助。