我想将HTML页面的值传递给父函数的子函数。
HTML页面:
<div class="bottom_wrapper clearfix">
<div class="message_input_wrapper">
<input class="message_input" placeholder="Type your message here..." />
</div>
<div class="send_message">
<div class="icon"></div>
<div class="text">Send/div>
</div>
</div>
父函数调用:
$('.send_message').click(function (e) {
return [sendMessage(getMessageText()),sendMessage1(getMessageText1())];
});
$('.message_input').keyup(function (e) {
if (e.which === 13) {
return [sendMessage(getMessageText()),sendMessage1(getMessageText1())];
}
});
这里getMessageText1
是子功能。
子功能:
getMessageText1 = function () {
var result="";
var id = Parent_FUNC_INPUT;
$.ajax({
url:"func.php",
type: 'POST',
data: ({id:id}),
async: false,
success:function(data) {
result = data;
}
});
我想从父函数中填充子函数中的[[id]]变量。
答案 0 :(得分:0)
首先,我会尽力清理HTML:
<div class="bottom_wrapper clearfix">
<div class="message_input_wrapper">
<input class="message_input" placeholder="Type your message here..." />
</div>
<div class="send_message">
<div class="icon"></div>
</div>
<div class="text">Send</div>
</div>
使用适当的缩进将使内容更容易阅读。而且,当我们讨论这个主题时,您可能希望在类名中使用破折号-
而不是下划线_
,因为这是常见的约定。
关于您的问题,似乎您想做的只是从内部(如您所指)传递参数到getMessageText1
事件监听器。
因此,您将使用单个参数定义此“子”函数:
function getMessageText1(Parent_FUNC_INPUT) {
...
var id = Parent_FUNC_INPUT;
...
}
然后您可以使用getMessageText1(value)
进行调用,其中值是您要传递的值。
另一个注意事项:为了便于阅读,我建议您不要以现有的方式命名函数。具有两个功能getMessageText
和getMessageText1
稍后将引起混乱。相反,请考虑一些更具描述性的内容,例如getMessageTextFromID
。
希望我回答了您要问的问题。让我知道。