fre*_*ent 4 jquery types input jquery-mobile
我有一个输入字段,我想在移动和桌面上用Jquery Mobile制作.
它是一个数量选择器字段,因此根据输入类型,用户只需输入一个数字或点击增量到1,2,3,......他想要的数字.
问题:有没有办法通过按钮将输入类型="按钮"切换为输入类型="文本"?
像这样的东西:
$('.switchInputType').click(function () {
$(this).val() == "click" ? go_type() : go_click();
});
function go_type() {
$('.switchInputType').val('type');
$('.inputElement').attr('type', 'text');
}
function go_click() {
$('.switchInputType').val('click');
$('.inputElement').attr('type', 'button');
}
Run Code Online (Sandbox Code Playgroud)
这不起作用?我正在寻找其他想法如何实现这一目标?
是否有可能篡改JQM生成的HTML,如
<input type="button" value="clickMe" />
Run Code Online (Sandbox Code Playgroud)
在JQM中看起来像这样:
<div class="ui-btn ui-btn-inline ui-btn-corner-all ui-shadow ui-btn-up-c"
data-theme="c" aria-disabled="false">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">clickMe</span>
</span>
<input class="inputElement ui-btn-hidden" type="button" value="clickMe"
aria-disabled="false" />
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢你的想法!
这是在Jquery Mobile中切换输入的完整代码:
$('.switchInputType').click(function () {
$(this).val() == "click" ? go_type() : go_click();
});
function go_type() {
$('.switchInputType').val('type');
$('.switchInputType').prev('span').html('<span class="ui-btn-text">type</span><span class="ui-icon ui-icon-finger ui-icon-shadow"></span>');
$('.inputElement').each(function(index) {
$(this).parent('div').replaceWith('<input type="text" value="'+this.value+'"
name="'+this.name+'" id="'+this.id+'" value="'+this.value+'" class="inputElement
ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" />');
});
}
function go_click() {
$('.switchInputType').val('click');
$('.switchInputType').prev('span').html('<span class="ui-btn-text">click</span><span
class="ui-icon ui-icon-finger ui-icon-shadow"></span>');
$('.inputElement').each(function(index) {
$(this).replaceWith('<div class="ui-btn ui-btn-inline ui-btn-corner-all ui-shadow
ui-btn-up-c" data-theme="c" aria-disabled="false"><span class="ui-btn-inner ui-btn-
corner-all"><span class="ui-btn-text">'+this.value+'</span></span><input
type="button" value="'+this.value+'" name="'+this.name+'" id="'+this.id+'"
value="'+this.value+'" class="inputElement ui-btn-hidden" data-inline="true"
aria-disabled="false" /></div>');
});
}
Run Code Online (Sandbox Code Playgroud)
rsp*_*lak 10
由于它是只读的,因此无法更改类型.你能做的是这样的:
$('.clicker').bind('click', function() {
$(this).replaceWith('<input type="text" value="'+this.value+'" id="'+this.id+'">');
});
Run Code Online (Sandbox Code Playgroud)