我不能让这两个不同的点击功能同时工作。今天是我第一次以任何重要的方式使用JS,所以请耐心等待。我有一个selectable
Jquery列表,一旦选中了其中一个项目,我希望用户能够单击一个提交按钮。到目前为止,列表正在运行,但我无法获取提交按钮来运行其代码。
$(function () {
var user_id;
$("#selectable_<%=request.id.to_s%>").selectable({
selected: function (event, ui) {
var result = $("#select-result-<%=request.id.to_s%>").empty();
$(ui.selected).addClass("ui-selected").siblings().removeClass("ui-selected").each(
function (key, value) {
$(value).find('*').removeClass("ui-selected");
}
);
var index = $("#selectable_<%= request.id.to_s %> .ui-widget-content").html();
user_id = $("#selectable_<%= request.id.to_s %> .ui-widget-content #user_id").html();
result.append(( index ));
alert('User selected');
}
});
$("#submit_button").submit(function () {
if (user_id) {
//Passing mdate and phone variables to rails controller(book_date & phone)
window.open(location.protocol + '//' + location.host + '/' + "completes/create?&doer=" + user_id, "_self");
alert("passed");
}
else {
alert("Please select a user.");
}
});
});
我尝试将提交代码移动到可选择的上方,这使得selectable无法正常运行。很明显,这只是让我一次运行其中一种方法。有什么想法吗?
编辑:我将功能更改为.click,但仍然没有运气。
之前我没有提到过,但我正在使用Rails。但我认为使用简单的HTML按钮标签我会没问题,因为我只需要它来执行JS。这可能与问题有关吗?
无论如何,我已经尝试将按钮更改为Rails,这就是我现在所拥有的:
<%= button_tag "Submit", :id => "submit_button", :class => "btn btn-small btn-inverse", :type => "button" %>
此外,这一切都发生在Bootstrap模式中。
答案 0 :(得分:2)
尝试将提交按钮的submit()
处理程序更改为click()
处理程序。
$("#submit_button").click(function (e) {
// in case your button is of type "submit", prevent default submit action
e.preventDefault();
if (user_id) {
//Passing mdate and phone variables to rails controller(book_date & phone)
window.open(location.protocol + '//' + location.host + '/' + "completes/create?&doer=" + user_id, "_self");
alert("passed");
}
else {
alert("Please select a user.");
}
});
submit()
仅适用于forms
。