我无法从input[type='text']
#page-name
和#page-url
获取value属性,它显示为undefined:
eventsDispatcher: function() {
var self = this;
$(".b-row a").click(function() {
var tileId = ("this").id;
$("#tile-edit").css("display", "block");
$("#tile-edit-save").click(function() {
self.pageList[tileId].name = $("#page-name").val(); // -> here
self.pageList[tileId].url = $("#page-url").val(); // -> here
console.log(self.pageList[tileId].name);
});
});
},

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tile-edit">
<form>
<table>
<tr>
<td>
<label for="page-url">Adress</label>
</td>
<td>
<input type="text" name="page-url" id="page-url" class="">
</td>
</tr>
<tr>
<td>
<label for="page-name">Name</label>
</td>
<td>
<input type="text" name="page-name" id="page-name" class="">
</td>
</tr>
<tr>
<td>
<input type="button" id="tile-edit-save" value="save">
</td>
</tr>
</table>
</form>
</div>
&#13;
脚本的其余部分工作正常,就像两个.click函数一样,只是无法弄清楚为什么它没有得到#page-name
和#page-url
值?
答案 0 :(得分:2)
我只是猜测,但("this").id
应为undefined
。您可能希望将其更改为:
var tileId = $(this).attr('id');
答案 1 :(得分:0)
我相信你的HTML中有特殊字符。我将它复制并粘贴到纯文本编辑器中,并且工作正常。请尝试在此处复制并粘贴DEFAULT '1970-01-01 00:00:00'
HTML。
form
$('#tile-edit-save').on('click',function() {
console.log($("#page-name").val())
console.log($("#page-url").val())
});