2012-01-30 69 views
3

我刚碰到一个问题,我将选择转换为<ul><li/></ul>格式。Jquery设置元素值不适用于long值(guids)

现在我把所有的选项,它们的值,html和类,并把它们变成李。

这意味着李GET值属性等

手头的问题 当选项有一个整数(目前低于4位),并将其转换它完美的罚款。但我有另一个选择选项guids作为值。当我尝试转换所有的值变为零,即值=“0”。

有没有人有任何想法?

我的代码完全:转换列表HTML的

//Extract listbox 
     $preferenceListBox.children().each(function() { 
      var $liToAdd = $liTemplate.clone(); 
      console.log($(this).val()); 
      $liToAdd.html($(this).html()).prop("value",$(this).val()).prop("disabled", $(this).prop("disabled")); 
      if ($(this).is("[disabled='disabled']") || $(this).is("[selected='selected']")) { 
       $liToAdd.addClass("disabled"); 
      } 
      if ($(this).filter(":selected") > 0) { 
       $liToAdd.prop("disabled", "disabled"); 
      } 
      $selectionList.append($liToAdd); 

     }); 

更新

样品:

<ul class="selectionList"><li value="0" class="ui-draggable ui-selectable">-Select-<b class="preferenceButton">+</b></li><li value="0" class="ui-draggable ui-selectable">Canberra Central<b class="preferenceButton">+</b></li>...</ul> 

是这个选择创建:

<select class="preferenceListBox noSelectItem" id="areaCodeList" multiple="multiple" name="areaCodeList" size="7" style="display: none; "><option disabled="disabled" class="disabled">-Select-</option><option value="24631a28-901d-4156-b6f6-2d2b3c10c9ec">Canberra Central</option>...</select> 
+0

html代码的任何示例,或者可能是样本GUID? – Cheery 2012-01-30 05:04:23

+0

我刚刚为你添加了例子 – MrJD 2012-01-30 05:50:32

+0

阅读我的答案,你不能使用价值属性的李标签 – Cheery 2012-01-30 05:54:49

回答

1

嗯......

http://www.w3schools.com/tags/att_li_value.asp

http://www.w3schools.com/tags/tag_li.asp

<li>属性的值在HTML 4.01已废弃。

value属性设置列表项的值。以下列表 项目将从该数字增加。

该值必须是数字,并且只能用于有序列表中 (<ol>)。

HTML 4.01 Strict/ XHTML 1.0 Strict DTD不支持<li>的值属性。

PS:你想使用idclass属性,而不是value

+0

啊是的,完美的解决方案。我只是将每个值改为$ element.data(“value”,* value *),并且瞧。谢谢! PS。 .data(...)是做这件事的好方法,或者效率太低了。如果是的话什么是更好的解决方案? – MrJD 2012-01-30 06:12:59

+0

@MrJD是的,如果你不需要使用它作为选择器的话,数据是很好的:)我认为你可能需要在直接选择时使用你的值,但如果不是,那么数据是完美的。 – Cheery 2012-01-30 06:16:20

+0

在一个阶段,我做了,但我解决了它。 – MrJD 2012-01-30 06:23:28