我正在尝试更改具有Chosen.js叠加层的选择框的值.我们的想法是在用户单击按钮时更改所选值.
使用常规选择框我可以通过执行以下操作来更改值:
$('#GroupsShowNext').unbind("click").click(function() {
var index = $("#GroupsViewGroups").prop("selectedIndex");
index += 1;
$('#GroupsViewGroups option').eq(index).attr('selected', 'selected');
$('#GroupsViewGroups').change();
});
Run Code Online (Sandbox Code Playgroud)
但是使用Chosen.js它不再起作用了.我尝试了很少的东西,但没有任何效果.任何想法如何让它工作?
编者注:此代码示例来自1.0之前的Rust版本,并且在语法上不是有效的Rust 1.0代码.此代码的更新版本会产生不同的错误,但答案仍包含有价值的信息.
当然有一种更好的方法将二进制字符串转换为十六进制字符串比这个?
use std::num;
fn to_hex(val: &str, len: uint) {
println!("Bin: {}", val);
let mut int_val = 0i;
for (i,c) in val.chars().enumerate() {
if c == '1' {
int_val += num::pow(2i, i+1)/2;
}
}
let f32_val = int_val as f32;
let mut hex_val = std::f32::to_str_hex(f32_val).to_string();
while hex_val.len() != len*2 {
hex_val = "0".to_string() + hex_val;
}
println!("Hex: {} @ {} bytes", hex_val, len);
}
fn main() {
let value = "0001111";
to_hex(value,4);
}
Run Code Online (Sandbox Code Playgroud)
结果是
Bin: 0001111
Hex: 00000078 @ …Run Code Online (Sandbox Code Playgroud)